From c0972c9a0478a21d8c68a815259a41a529318a7f Mon Sep 17 00:00:00 2001 From: BlackNoxis Date: Mon, 2 Mar 2015 12:16:06 +0200 Subject: Reverbish libreoffice --- .../libreoffice-4.3.5.2-remove-bashisms.patch | 38 ++++ .../files/libreoffice-4.4-system-pyuno.patch | 44 +++++ ...breoffice-4.4.0.3-gcc-4.9-Os-link-failure.patch | 80 +++++++++ .../libreoffice-4.4.0.3-telepathy-build-fix.patch | 40 +++++ ...reoffice-4.4.1.2-add-kde4-open-url-script.patch | 56 ++++++ ...ibreoffice-4.4.1.2-improve-KDE4FilePicker.patch | 192 +++++++++++++++++++++ 6 files changed, 450 insertions(+) create mode 100644 app-office/libreoffice/files/libreoffice-4.3.5.2-remove-bashisms.patch create mode 100644 app-office/libreoffice/files/libreoffice-4.4-system-pyuno.patch create mode 100644 app-office/libreoffice/files/libreoffice-4.4.0.3-gcc-4.9-Os-link-failure.patch create mode 100644 app-office/libreoffice/files/libreoffice-4.4.0.3-telepathy-build-fix.patch create mode 100644 app-office/libreoffice/files/libreoffice-4.4.1.2-add-kde4-open-url-script.patch create mode 100644 app-office/libreoffice/files/libreoffice-4.4.1.2-improve-KDE4FilePicker.patch (limited to 'app-office/libreoffice/files') 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)" +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 + +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 +Tested-by: Caolán McNamara +--- + 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 +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 +Tested-by: Miklos Vajna + +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 +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 +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& ) + : 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(); -- cgit v1.2.3