summaryrefslogtreecommitdiff
path: root/app-office/libreoffice/files
diff options
context:
space:
mode:
Diffstat (limited to 'app-office/libreoffice/files')
-rw-r--r--app-office/libreoffice/files/libreoffice-4.3.5.2-remove-bashisms.patch38
-rw-r--r--app-office/libreoffice/files/libreoffice-4.4-system-pyuno.patch44
-rw-r--r--app-office/libreoffice/files/libreoffice-4.4.0.3-gcc-4.9-Os-link-failure.patch80
-rw-r--r--app-office/libreoffice/files/libreoffice-4.4.0.3-telepathy-build-fix.patch40
-rw-r--r--app-office/libreoffice/files/libreoffice-4.4.1.2-add-kde4-open-url-script.patch56
-rw-r--r--app-office/libreoffice/files/libreoffice-4.4.1.2-improve-KDE4FilePicker.patch192
6 files changed, 450 insertions, 0 deletions
diff --git a/app-office/libreoffice/files/libreoffice-4.3.5.2-remove-bashisms.patch b/app-office/libreoffice/files/libreoffice-4.3.5.2-remove-bashisms.patch
new file mode 100644
index 00000000..370b4aaa
--- /dev/null
+++ b/app-office/libreoffice/files/libreoffice-4.3.5.2-remove-bashisms.patch
@@ -0,0 +1,38 @@
+From f53e79acd0d42f5c41e1104056af9cf23e9e2e2a Mon Sep 17 00:00:00 2001
+From: "Andreas K. Huettel (dilfridge)" <dilfridge@gentoo.org>
+Date: Sun, 4 Jan 2015 15:33:35 +0100
+Subject: [PATCH] Replace bash-specific code from configure.ac, fixes build for
+ sh=dash users
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Original patch by Rémi Cardona <remi@gentoo.org>
+
+Change-Id: I815567df8a868c3997e8ac357b8529fded28c950
+Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=525454
+Reviewed-on: https://gerrit.libreoffice.org/13731
+Reviewed-by: Caolán McNamara <caolanm@redhat.com>
+Tested-by: Caolán McNamara <caolanm@redhat.com>
+---
+ configure.ac | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8aa33d0..5dbe640 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -11483,9 +11483,8 @@ test_font_map()
+ FONTFILE_LOWER="$(echo $FONTFILE | $AWK '{print tolower($0)}')"
+
+ TESTEXPR="'${FONTFILE_LOWER}' = '$(echo $FONT | $AWK '{print tolower($0)}').ttf'"
+- while true ; do
++ while test "$#" -ge 1 ; do
+ MAPPING="$(echo $1 | $AWK '{print tolower($0)}')"; shift
+- test -n "$MAPPING" || break
+ TESTEXPR="${TESTEXPR} -o '${FONTFILE_LOWER}' = '$MAPPING-regular.ttf'"
+ done
+ if test $TESTEXPR
+--
+2.3.0
+
diff --git a/app-office/libreoffice/files/libreoffice-4.4-system-pyuno.patch b/app-office/libreoffice/files/libreoffice-4.4-system-pyuno.patch
new file mode 100644
index 00000000..1cf8e192
--- /dev/null
+++ b/app-office/libreoffice/files/libreoffice-4.4-system-pyuno.patch
@@ -0,0 +1,44 @@
+diff --git a/desktop/scripts/soffice.sh b/desktop/scripts/soffice.sh
+index a259bf6..672fa23 100755
+--- a/desktop/scripts/soffice.sh
++++ b/desktop/scripts/soffice.sh
+@@ -129,6 +129,9 @@ if echo "$checks" | grep -q "cc" ; then
+ exit 1;
+ fi
+
++PYTHONPATH=$sd_prog${PYTHONPATH+:$PYTHONPATH}
++export PYTHONPATH
++
+ case "`uname -s`" in
+ NetBSD|OpenBSD|FreeBSD|DragonFly)
+ # this is a temporary hack until we can live with the default search paths
+diff --git a/pyuno/source/module/uno.py b/pyuno/source/module/uno.py
+index 4ff2606..6a05eed 100644
+--- a/pyuno/source/module/uno.py
++++ b/pyuno/source/module/uno.py
+@@ -16,8 +16,12 @@
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ #
++import os
+ import sys
+
++sys.path.append('%eprefix%/usr/%libdir%/libreoffice/program')
++if getattr(os.environ, 'URE_BOOTSTRAP', None) is None:
++ os.environ['URE_BOOTSTRAP'] = "vnd.sun.star.pathname:%eprefix%/usr/%libdir%/libreoffice/program/fundamentalrc"
+ import pyuno
+
+ try:
+diff --git a/pyuno/source/officehelper.py b/pyuno/source/officehelper.py
+index 99d3b03..704edab 100755
+--- a/pyuno/source/officehelper.py
++++ b/pyuno/source/officehelper.py
+@@ -44,7 +44,7 @@ def bootstrap():
+ if "UNO_PATH" in os.environ:
+ sOffice = os.environ["UNO_PATH"]
+ else:
+- sOffice = "" # lets hope for the best
++ sOffice = "%eprefix%/usr/%libdir%/libreoffice/program"
+ sOffice = os.path.join(sOffice, "soffice")
+ if platform.startswith("win"):
+ sOffice += ".exe"
diff --git a/app-office/libreoffice/files/libreoffice-4.4.0.3-gcc-4.9-Os-link-failure.patch b/app-office/libreoffice/files/libreoffice-4.4.0.3-gcc-4.9-Os-link-failure.patch
new file mode 100644
index 00000000..0f39688e
--- /dev/null
+++ b/app-office/libreoffice/files/libreoffice-4.4.0.3-gcc-4.9-Os-link-failure.patch
@@ -0,0 +1,80 @@
+From 0e4b1d2127957459b79f41a96f1fa0061d399b3b Mon Sep 17 00:00:00 2001
+From: Michael Stahl <mstahl@redhat.com>
+Date: Sat, 14 Feb 2015 00:17:06 +0100
+Subject: tdf#78174: toolkit: work around GCC 4.9 -Os link failure
+
+A build with gcc (GCC) 4.9.2 20141101 (Red Hat 4.9.2-1) for 32-bit x86
+fails because of these undefined symbols:
+
+> nm --demangle workdir/CxxObject/svx/source/fmcomp/fmgridif.o | grep
+ \\bWindowListenerMultiplexer::acquire
+ U non-virtual thunk to WindowListenerMultiplexer::acquire()
+
+They should probably be generated inline. Work around by out-lining the
+definition of the methods.
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64812
+
+Change-Id: I318f7c39bdf1243be385bc6dc0a47862b22e92c5
+(cherry picked from commit 6b3aa0fe4094e87290bd33a30bd6cd99ee78ce38)
+Reviewed-on: https://gerrit.libreoffice.org/14509
+Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
+Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
+
+diff --git a/include/toolkit/helper/macros.hxx b/include/toolkit/helper/macros.hxx
+index e048e75..b212dff 100644
+--- a/include/toolkit/helper/macros.hxx
++++ b/include/toolkit/helper/macros.hxx
+@@ -112,8 +112,8 @@ class ClassName : public ListenerMultiplexerBase, public InterfaceName \
+ public: \
+ ClassName( ::cppu::OWeakObject& rSource ); \
+ ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; \
+- void SAL_CALL acquire() throw() SAL_OVERRIDE { ListenerMultiplexerBase::acquire(); } \
+- void SAL_CALL release() throw() SAL_OVERRIDE { ListenerMultiplexerBase::release(); } \
++ void SAL_CALL acquire() throw() SAL_OVERRIDE; \
++ void SAL_CALL release() throw() SAL_OVERRIDE; \
+ void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
+
+@@ -124,8 +124,8 @@ class TOOLKIT_DLLPUBLIC ClassName : public ListenerMultiplexerBase, public Inter
+ public: \
+ ClassName( ::cppu::OWeakObject& rSource ); \
+ ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; \
+- void SAL_CALL acquire() throw() SAL_OVERRIDE { ListenerMultiplexerBase::acquire(); } \
+- void SAL_CALL release() throw() SAL_OVERRIDE { ListenerMultiplexerBase::release(); } \
++ void SAL_CALL acquire() throw() SAL_OVERRIDE; \
++ void SAL_CALL release() throw() SAL_OVERRIDE; \
+ void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
+
+@@ -140,6 +140,8 @@ ClassName::ClassName( ::cppu::OWeakObject& rSource ) \
+ : ListenerMultiplexerBase( rSource ) \
+ { \
+ } \
++void SAL_CALL ClassName::acquire() throw() { ListenerMultiplexerBase::acquire(); } \
++void SAL_CALL ClassName::release() throw() { ListenerMultiplexerBase::release(); } \
+ ::com::sun::star::uno::Any ClassName::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException, std::exception) \
+ { \
+ ::com::sun::star::uno::Any aRet = ::cppu::queryInterface( rType, \
+diff --git a/toolkit/source/helper/listenermultiplexer.cxx b/toolkit/source/helper/listenermultiplexer.cxx
+index 797fad2..b109c5f 100644
+--- a/toolkit/source/helper/listenermultiplexer.cxx
++++ b/toolkit/source/helper/listenermultiplexer.cxx
+@@ -47,6 +47,15 @@ EventListenerMultiplexer::EventListenerMultiplexer( ::cppu::OWeakObject& rSource
+ {
+ }
+
++void SAL_CALL EventListenerMultiplexer::acquire() throw ()
++{
++ return ListenerMultiplexerBase::acquire();
++}
++void SAL_CALL EventListenerMultiplexer::release() throw ()
++{
++ return ListenerMultiplexerBase::release();
++}
++
+ // ::com::sun::star::uno::XInterface
+ ::com::sun::star::uno::Any EventListenerMultiplexer::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException, std::exception)
+ {
+--
+cgit v0.10.2
diff --git a/app-office/libreoffice/files/libreoffice-4.4.0.3-telepathy-build-fix.patch b/app-office/libreoffice/files/libreoffice-4.4.0.3-telepathy-build-fix.patch
new file mode 100644
index 00000000..2833385a
--- /dev/null
+++ b/app-office/libreoffice/files/libreoffice-4.4.0.3-telepathy-build-fix.patch
@@ -0,0 +1,40 @@
+From 623b38fa5769f8cdec10b54b2a600bc4c4e077e6 Mon Sep 17 00:00:00 2001
+From: David Tardon <dtardon@redhat.com>
+Date: Sun, 11 Jan 2015 13:08:37 +0100
+Subject: OSL_ENSURE was not declared in this scope
+
+Change-Id: I426c0feee7b76fe02473e07fa209a61967af3e99
+
+diff --git a/tubes/source/conference.cxx b/tubes/source/conference.cxx
+index 86986fc..df4a63f 100644
+--- a/tubes/source/conference.cxx
++++ b/tubes/source/conference.cxx
+@@ -248,7 +248,7 @@ static void channel_closed_cb( TpChannel *channel, gpointer user_data, GObject *
+
+ void TeleConference::setChannel( TpAccount *pAccount, TpDBusTubeChannel* pChannel )
+ {
+- OSL_ENSURE( !mpChannel, "TeleConference::setChannel: already have channel");
++ SAL_WARN_IF( mpChannel, "tubes", "TeleConference::setChannel: already have channel");
+ if (mpChannel)
+ g_object_unref( mpChannel);
+ if (mpAccount)
+@@ -297,7 +297,7 @@ bool TeleConference::offerTube()
+ {
+ INFO_LOGGER( "TeleConference::offerTube");
+
+- OSL_ENSURE( mpChannel, "TeleConference::offerTube: no channel");
++ SAL_WARN_IF( !mpChannel, "tubes", "TeleConference::offerTube: no channel");
+ if (!mpChannel)
+ return false;
+
+@@ -319,7 +319,7 @@ bool TeleConference::setTube( GDBusConnection* pTube)
+ {
+ INFO_LOGGER( "TeleConference::setTube");
+
+- OSL_ENSURE( !pImpl->mpTube, "TeleConference::setTube: already tubed");
++ SAL_WARN_IF( pImpl->mpTube, "tubes", "TeleConference::setTube: already tubed");
+
+ pImpl->mpTube = pTube;
+
+--
+cgit v0.10.2
diff --git a/app-office/libreoffice/files/libreoffice-4.4.1.2-add-kde4-open-url-script.patch b/app-office/libreoffice/files/libreoffice-4.4.1.2-add-kde4-open-url-script.patch
new file mode 100644
index 00000000..d4c4d28b
--- /dev/null
+++ b/app-office/libreoffice/files/libreoffice-4.4.1.2-add-kde4-open-url-script.patch
@@ -0,0 +1,56 @@
+From f7db2461292be3e23f5b3af47e488eaa8105d8db Mon Sep 17 00:00:00 2001
+From: Jan-Marek Glogowski <glogow@fbihome.de>
+Date: Wed, 26 Nov 2014 13:35:42 +0100
+Subject: Add kde4-open-url script
+
+Adds a KDE4 specific URL processing script.
+
+Change-Id: I0116fa95f076a5772e88c616e93de542fe4fe4e4
+
+diff --git a/shell/Package_scripts_kde.mk b/shell/Package_scripts_kde.mk
+index c5e4978..162bcc5 100644
+--- a/shell/Package_scripts_kde.mk
++++ b/shell/Package_scripts_kde.mk
+@@ -9,6 +9,12 @@
+
+ $(eval $(call gb_Package_Package,shell_scripts_kde,$(SRCDIR)/shell/source/unix/misc))
+
++ifeq ($(ENABLE_KDE),TRUE)
+ $(eval $(call gb_Package_add_file,shell_scripts_kde,$(LIBO_BIN_FOLDER)/kde-open-url,kde-open-url.sh))
++endif
++
++ifeq ($(ENABLE_KDE4),TRUE)
++$(eval $(call gb_Package_add_file,shell_scripts_kde,$(LIBO_BIN_FOLDER)/kde4-open-url,kde4-open-url.sh))
++endif
+
+ # vim: set shiftwidth=4 tabstop=4 noexpandtab:
+diff --git a/shell/source/unix/misc/kde4-open-url.sh b/shell/source/unix/misc/kde4-open-url.sh
+new file mode 100755
+index 0000000..e5b8125
+--- /dev/null
++++ b/shell/source/unix/misc/kde4-open-url.sh
+@@ -0,0 +1,22 @@
++#!/bin/sh
++#
++# This file is part of the LibreOffice project.
++#
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++#
++# This file incorporates work covered by the following license notice:
++#
++# Licensed to the Apache Software Foundation (ASF) under one or more
++# contributor license agreements. See the NOTICE file distributed
++# with this work for additional information regarding copyright
++# ownership. The ASF licenses this file to you under the Apache
++# License, Version 2.0 (the "License"); you may not use this file
++# except in compliance with the License. You may obtain a copy of
++# the License at http://www.apache.org/licenses/LICENSE-2.0 .
++#
++
++# use kde-open or xdg-open if available, falling back to our own open-url
++kde-open "$1" 2>/dev/null || xdg-open "$1" 2>/dev/null || `dirname "$0"`/open-url "$1" 2>/dev/null
++exit 0
+--
+cgit v0.10.2
diff --git a/app-office/libreoffice/files/libreoffice-4.4.1.2-improve-KDE4FilePicker.patch b/app-office/libreoffice/files/libreoffice-4.4.1.2-improve-KDE4FilePicker.patch
new file mode 100644
index 00000000..61e036ee
--- /dev/null
+++ b/app-office/libreoffice/files/libreoffice-4.4.1.2-improve-KDE4FilePicker.patch
@@ -0,0 +1,192 @@
+Merged upstream commits:
+
+6fc55b9abd783b624241d56e34751ea495adbd7d "KDE4: actually apply file dialog operation mode"
+b613270a730ace29dd1b16b29be2222b34f34a5d "KDE4: improve default load and save dialog titles"
+
+
+diff -u b/vcl/unx/kde4/KDE4FilePicker.cxx b/vcl/unx/kde4/KDE4FilePicker.cxx
+--- b/vcl/unx/kde4/KDE4FilePicker.cxx
++++ b/vcl/unx/kde4/KDE4FilePicker.cxx
+@@ -58,6 +58,8 @@
+
+ #include "generic/geninst.h"
+
++#include "svids.hrc"
++
+ using namespace ::com::sun::star;
+ using namespace ::com::sun::star::ui::dialogs;
+ using namespace ::com::sun::star::ui::dialogs::TemplateDescription;
+@@ -109,7 +111,6 @@
+
+ KDE4FilePicker::KDE4FilePicker( const uno::Reference<uno::XComponentContext>& )
+ : KDE4FilePicker_Base(_helperMutex)
+- , _resMgr( ResMgr::CreateResMgr("fps_office") )
+ , allowRemoteUrls( false )
+ {
+ _extraControls = new QWidget();
+@@ -128,8 +129,7 @@
+ #endif
+
+ setMultiSelectionMode( false );
+- //default mode
+- _dialog->setOperationMode(KFileDialog::Opening);
++ _dialog->setConfirmOverwrite( true );
+
+ // XExecutableDialog functions
+ connect( this, SIGNAL( setTitleSignal( const OUString & ) ),
+@@ -202,7 +202,6 @@
+ SalYieldMutexReleaser aReleaser;
+ return Q_EMIT cleanupProxySignal();
+ }
+- delete _resMgr;
+ delete _dialog;
+ }
+
+@@ -524,6 +523,24 @@
+ return toOUString(label);
+ }
+
++QString KDE4FilePicker::getResString( sal_Int16 aRedId )
++{
++ QString aResString;
++
++ if( aRedId < 0 )
++ return aResString;
++
++ try
++ {
++ aResString = toQString(ResId(aRedId, *ImplGetResMgr()).toString());
++ }
++ catch(...)
++ {
++ }
++
++ return aResString.replace('~', '&');
++}
++
+ void KDE4FilePicker::addCustomControl(sal_Int16 controlId)
+ {
+ QWidget* widget = 0;
+@@ -532,37 +549,37 @@
+ switch (controlId)
+ {
+ case CHECKBOX_AUTOEXTENSION:
+- resId = STR_SVT_FILEPICKER_AUTO_EXTENSION;
++ resId = STR_FPICKER_AUTO_EXTENSION;
+ break;
+ case CHECKBOX_PASSWORD:
+- resId = STR_SVT_FILEPICKER_PASSWORD;
++ resId = STR_FPICKER_PASSWORD;
+ break;
+ case CHECKBOX_FILTEROPTIONS:
+- resId = STR_SVT_FILEPICKER_FILTER_OPTIONS;
++ resId = STR_FPICKER_FILTER_OPTIONS;
+ break;
+ case CHECKBOX_READONLY:
+- resId = STR_SVT_FILEPICKER_READONLY;
++ resId = STR_FPICKER_READONLY;
+ break;
+ case CHECKBOX_LINK:
+- resId = STR_SVT_FILEPICKER_INSERT_AS_LINK;
++ resId = STR_FPICKER_INSERT_AS_LINK;
+ break;
+ case CHECKBOX_PREVIEW:
+- resId = STR_SVT_FILEPICKER_SHOW_PREVIEW;
++ resId = STR_FPICKER_SHOW_PREVIEW;
+ break;
+ case CHECKBOX_SELECTION:
+- resId = STR_SVT_FILEPICKER_SELECTION;
++ resId = STR_FPICKER_SELECTION;
+ break;
+ case PUSHBUTTON_PLAY:
+- resId = STR_SVT_FILEPICKER_PLAY;
++ resId = STR_FPICKER_PLAY;
+ break;
+ case LISTBOX_VERSION:
+- resId = STR_SVT_FILEPICKER_VERSION;
++ resId = STR_FPICKER_VERSION;
+ break;
+ case LISTBOX_TEMPLATE:
+- resId = STR_SVT_FILEPICKER_TEMPLATES;
++ resId = STR_FPICKER_TEMPLATES;
+ break;
+ case LISTBOX_IMAGE_TEMPLATE:
+- resId = STR_SVT_FILEPICKER_IMAGE_TEMPLATE;
++ resId = STR_FPICKER_IMAGE_TEMPLATE;
+ break;
+ case LISTBOX_VERSION_LABEL:
+ case LISTBOX_TEMPLATE_LABEL:
+@@ -581,16 +598,7 @@
+ case CHECKBOX_PREVIEW:
+ case CHECKBOX_SELECTION:
+ {
+- QString label;
+-
+- if (_resMgr && resId != -1)
+- {
+- OUString s(ResId(resId, *_resMgr).toString());
+- label = toQString(s);
+- label.replace("~", "&");
+- }
+-
+- widget = new QCheckBox(label, _extraControls);
++ widget = new QCheckBox(getResString(resId), _extraControls);
+
+ // the checkbox is created even for CHECKBOX_AUTOEXTENSION to simplify
+ // code, but the checkbox is hidden and ignored
+@@ -719,8 +727,22 @@
+ 1 );
+ }
+
+- _dialog->setOperationMode(operationMode);
+- _dialog->setConfirmOverwrite(true);
++ _dialog->setOperationMode( operationMode );
++
++ sal_Int16 resId = -1;
++ switch (_dialog->operationMode())
++ {
++ case KFileDialog::Opening:
++ resId = STR_FPICKER_OPEN;
++ break;
++ case KFileDialog::Saving:
++ resId = STR_FPICKER_SAVE;
++ break;
++ default:
++ break;
++ }
++
++ _dialog->setCaption(getResString(resId));
+ }
+
+ void SAL_CALL KDE4FilePicker::cancel()
+only in patch2:
+unchanged:
+--- a/vcl/unx/kde4/KDE4FilePicker.hxx
++++ b/vcl/unx/kde4/KDE4FilePicker.hxx
+@@ -41,8 +41,6 @@ class KFileDialog;
+ class QWidget;
+ class QLayout;
+
+-class ResMgr;
+-
+ typedef ::cppu::WeakComponentImplHelper5
+ < ::com::sun::star::ui::dialogs::XFilePicker2
+ , ::com::sun::star::ui::dialogs::XFilePicker3
+@@ -61,8 +59,6 @@ protected:
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::ui::dialogs::XFilePickerListener > m_xListener;
+
+- ResMgr *_resMgr;
+-
+ //the dialog to display
+ KFileDialog* _dialog;
+
+@@ -225,6 +221,8 @@ private:
+ //add a custom control widget to the file dialog
+ void addCustomControl(sal_Int16 controlId);
+
++ QString getResString( sal_Int16 aRedId );
++
+ private Q_SLOTS:
+ void cleanupProxy();
+ void checkProtocol();