diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2019-08-13 14:37:23 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2019-08-13 17:56:31 +0200 |
commit | 5e2da1fbd47186791c4f3023cbdcc8d991e8d564 (patch) | |
tree | 650f56969e7e464c15b7e4fedd35a8811140d633 /app-office | |
parent | dev-python/tagpy: Drop 2013.1 (diff) | |
download | gentoo-5e2da1fbd47186791c4f3023cbdcc8d991e8d564.tar.gz gentoo-5e2da1fbd47186791c4f3023cbdcc8d991e8d564.tar.bz2 gentoo-5e2da1fbd47186791c4f3023cbdcc8d991e8d564.zip |
app-office/libreoffice: Security cleanup
Bug: https://bugs.gentoo.org/690354
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'app-office')
4 files changed, 0 insertions, 724 deletions
diff --git a/app-office/libreoffice/Manifest b/app-office/libreoffice/Manifest index 738e0bcfb785..250205abdce4 100644 --- a/app-office/libreoffice/Manifest +++ b/app-office/libreoffice/Manifest @@ -3,12 +3,10 @@ DIST 185d60944ea767075d27247c3162b3bc-unowinreg.dll 12288 BLAKE2B c067f60d0ee325 DIST 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip 9796 BLAKE2B a30b0225313b23092bc57ccd989f26ea04a323dcb17a0ea8baaa6a21b5d5e2b6e29fcae9d18ecd043073030e104ad56c86a115760590f57eda86c22c9fe478b0 SHA512 4a48f1e32907fb2dee601cda3cd7a0d7198b2d51f2a572b647f1e93f901fd511eef3567676e52dfb1723a2cdfbc01f2015ca0bb22903b0bc1476dd618cc9aa8a DIST 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip 1521926 BLAKE2B d2769842c180997055648a8b1a33cc89988b74628bad8aa012242e0c1afa5b5b8568323c107187072207ee69bd841ba4ca3bbfe27ef65223ddc729d1a1aa6590 SHA512 ec5ae23c8fe2f5efc377f7a9665039afadf28b4d8f2791379296766a5fbc9a3bf7548f9b0e3b3b07762229ec733a92ccbb69791ee0318c9c6f78f8e847253d3f DIST a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip 23150 BLAKE2B 51db6bd90585b13857ecb494c805c9fb6874e1e65d7aee73d23e1716670836a14b376bcca810f96fd55b0ed653b2660a268030f246c822cbb04f867ef763a3b3 SHA512 2d3835f7ac356805025cafedcad97faa48d0f5da386e6ac7b7451030059df8e2fdb0861ade07a576ebf9fb5b88a973585ab0437944b06aac9289d6898ba8586a -DIST libreoffice-6.1.5.2.tar.xz 207918636 BLAKE2B bb4e57a5363e7dc6757c537ef46231ff748649ca4b79993f371e787adba8cd1f3dd988f11e8813c24eb952d00355b02b15f0b126ea2c1f9d9ce7d6c26bf71c38 SHA512 36027ad8a3940e803908561e04feebce297db2fd570b7e43bb43d8c0b7885729eeaf0a64fc5f9e642c1008ffea0b3b1b6d0008e349cd1897425dc818ac8bf140 DIST libreoffice-6.2.5.2.tar.xz 215008848 BLAKE2B 5dd1ef185820944816e01c8ed6a7873a5a8fe6f7f4b41fad279729970d85ff868f51ed573e8b3d0a554ffd1f8e295b6ff2e493e7f7250f8cb1c7c2a40115abf4 SHA512 b46b6731c415ab354ad7d876cb8905cb9eae2ca71639abf049ea7f5930601c957cc0eb04a2cd06949073ba5e94778ecdb449692ed8bbfbd95b05f6e7980d8d10 DIST libreoffice-6.2.6.2.tar.xz 214985796 BLAKE2B 642b92c02f4fab7075dc1c6ce79c3168401fb333fe1e2cadd2008cb2d2411769710374fa35e4928a7b51831dd7a83f0caa28a0fad2dc9478dd6b62e37888a5fa SHA512 6ea92025e32d0b73869139092ef8b6798e33d1f91a3af7b0202a2611b1a4376ce8019b7ca1e3b59692ff3a4f60c35acfefa7364b7f74d2d2236d72bac3d237cc DIST libreoffice-6.3.0.4.tar.xz 224504440 BLAKE2B 4c006fa22dff53d3f8fd1baa5a414f9136472b13d7cd3d76a6bf055dcfe4b34aab3aa9c47b24f9b7d6aaa89691350cdf80548b7fcdb4ad8410723639d06dc576 SHA512 508beebf1e687e9ff668a82682561b639bd98ab85406178855b4301c7060147e1b5bea330e88d3bd7ef8de8f065d6a15d658eb436af0b03208c75d83a4deae40 DIST libreoffice-branding-gentoo-0.8.tar.xz 151568 BLAKE2B f03c7ddeb53c5ca3fd23401679601fcf2c4037ba17be4eb7b784c7ce7ebb71a24b8ab4aac8b7da8c6b1f14dd23bc1294ba85ff4f70ad271fb4ee3c5372e10883 SHA512 785031a699b1d1895ce4b50ffc3ddf645f3a0ef9acdf37facfd18cf75db9484cb8f53a50abb63d6006ead76a80b6ff5aa99661063245ebb84bd64013d713de7f -DIST libreoffice-help-6.1.5.2.tar.xz 15758000 BLAKE2B e8db833db00116e210cd6da578ab05089fd12128bfb8015600027c9afca09a1afe7a62e30a0271dffead5d176c0195eae9095d0e00450a926999efadf3f7572f SHA512 0575244ae595af7383b244fd3f1855b7d63820f9c3ebf87bc9d0758463b4b289988bbed99f0985508d34793967734fd83ae2d1a5db514479bb2fe32e0498fc9f DIST libreoffice-help-6.2.5.2.tar.xz 13023680 BLAKE2B f1f3a03104c1270e59f2b9130a29e1fbc99a9bf76b2bf4cedef8dc61487c9a2036f143501ad7fcd0c056c8b72446305b7a4ca9a719b11200ade5feca35e5e7ea SHA512 14f964161bd827a5846ec667ae1dac80d1485450e172da44010103e31f3872df62595e8b1b1d45c720caac9256d2adaf8f5a0bb80d059d35f1c560b533eb764c DIST libreoffice-help-6.2.6.2.tar.xz 13023940 BLAKE2B ac5cf65a391ab7d5f7030f02665d7b2e670e9b26aae068f42ce1f64e3830474958ef6d61d1721e3cd83f749e4699627b08bce97f852d607394823a95e41e7ee5 SHA512 bf3896d24201475fd45fc9da62833f0114bcbebbdd46b780ad9a71569c943bba04e3591da925f621cdc05b74c457a2d8d4b42ba9ce137cb018efea1d33a458c4 DIST libreoffice-help-6.3.0.4.tar.xz 13191436 BLAKE2B 3ad8d319ede30de5ccf7d26768388795e957d6296e794bd38d318c5a8114a41bc25bfd11d562700b4db34dd900537509175581855d8421e57595aa31d7aa3ba2 SHA512 1f197abb10d140037f10eb43b571b9e8f7b74b502f5bb91f4a3b4b388cd31aa81175df410321b9b401432c5ac02f9d08c7d681f07d68dd1733fb0536a1551ce8 diff --git a/app-office/libreoffice/files/libreoffice-6.1.5.2-gtk3_kde5-non-native-fpicker-for-non-plasma.patch b/app-office/libreoffice/files/libreoffice-6.1.5.2-gtk3_kde5-non-native-fpicker-for-non-plasma.patch deleted file mode 100644 index 30253e0b973f..000000000000 --- a/app-office/libreoffice/files/libreoffice-6.1.5.2-gtk3_kde5-non-native-fpicker-for-non-plasma.patch +++ /dev/null @@ -1,105 +0,0 @@ -From bf93bae6990b01ee726b59b0969b93585719671a Mon Sep 17 00:00:00 2001 -From: Michael Weghorn <m.weghorn@posteo.de> -Date: Wed, 30 Jan 2019 10:11:35 +0100 -Subject: tdf#122752 gtk3_kde5: Use non-native fpicker for non-Plasma desktops - -Adding the custom widgets to the native dialog currently depends -on the native dialog using a KFileWidget, which is just the case for -the native QFileDialog implementation on Plasma/KDE5. - -In order not to lose custom controls for non-Plasma desktops, -fall back to using the non-native QFileDialog there and adding -the custom controls to its layout. -This was mostly taken over from Qt5FileDialog. -(This is a similar approach as that taken for the kde5 VCL plugin -in https://gerrit.libreoffice.org/#/c/67106/ ). - -Adding the controls to the layout returned by 'QFileDialog::layout()' -cannot be used for the native dialog as well, since a nullptr is -returned in this case. - -From QFileDialog doc: - -> By default, a platform-native file dialog will be used if the platform -> has one. In that case, the widgets which would otherwise be used to -> construct the dialog will not be instantiated, so related accessors such -> as layout() and itemDelegate() will return null. You can set the -> DontUseNativeDialog option to ensure that the widget-based -> implementation will be used instead of the native dialog. - -Change-Id: I75fbe7731da28d0dc7df878f4c57e141d4d89902 -Reviewed-on: https://gerrit.libreoffice.org/67111 -Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> -Tested-by: Michael Weghorn <m.weghorn@posteo.de> ---- - vcl/unx/gtk3_kde5/kde5_filepicker.cxx | 26 +++++++++++++++++++++++++- - vcl/unx/gtk3_kde5/kde5_filepicker.hxx | 2 ++ - 2 files changed, 27 insertions(+), 1 deletion(-) - -diff --git a/vcl/unx/gtk3_kde5/kde5_filepicker.cxx b/vcl/unx/gtk3_kde5/kde5_filepicker.cxx -index 42e278a..33f64ad0 100644 ---- a/vcl/unx/gtk3_kde5/kde5_filepicker.cxx -+++ b/vcl/unx/gtk3_kde5/kde5_filepicker.cxx -@@ -17,6 +17,8 @@ - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -+#include <vcl/svapp.hxx> -+ - #include "kde5_filepicker.hxx" - - #include <KWindowSystem> -@@ -57,7 +59,7 @@ KDE5FilePicker::KDE5FilePicker(QObject* parent) - connect(_dialog, &QFileDialog::filterSelected, this, &KDE5FilePicker::filterChanged); - connect(_dialog, &QFileDialog::fileSelected, this, &KDE5FilePicker::selectionChanged); - -- qApp->installEventFilter(this); -+ setupCustomWidgets(); - } - - void KDE5FilePicker::enableFolderMode() -@@ -232,6 +234,28 @@ void KDE5FilePicker::initialize(bool saveDialog) - - void KDE5FilePicker::setWinId(sal_uIntPtr winId) { _winId = winId; } - -+void KDE5FilePicker::setupCustomWidgets() -+{ -+ // When using the platform-native Plasma/KDE5 file picker, we currently rely on KFileWidget -+ // being present to add the custom controls visible (s. 'eventFilter' method). -+ // Since this doesn't work for other desktop environments, use a non-native -+ // dialog there in order not to lose the custom controls and insert the custom -+ // widget in the layout returned by QFileDialog::layout() -+ // (which returns nullptr for native file dialogs) -+ if (Application::GetDesktopEnvironment() == "KDE5") -+ { -+ qApp->installEventFilter(this); -+ } -+ else -+ { -+ _dialog->setOption(QFileDialog::DontUseNativeDialog); -+ QGridLayout* pLayout = static_cast<QGridLayout*>(_dialog->layout()); -+ assert(pLayout); -+ const int row = pLayout->rowCount(); -+ pLayout->addWidget(_extraControls, row, 1); -+ } -+} -+ - bool KDE5FilePicker::eventFilter(QObject* o, QEvent* e) - { - if (e->type() == QEvent::Show && o->isWidgetType()) -diff --git a/vcl/unx/gtk3_kde5/kde5_filepicker.hxx b/vcl/unx/gtk3_kde5/kde5_filepicker.hxx -index d999f7b..c979a5d 100644 ---- a/vcl/unx/gtk3_kde5/kde5_filepicker.hxx -+++ b/vcl/unx/gtk3_kde5/kde5_filepicker.hxx -@@ -98,6 +98,8 @@ public: - - private: - Q_DISABLE_COPY(KDE5FilePicker) -+ // adds the custom controls to the dialog -+ void setupCustomWidgets(); - - protected: - bool eventFilter(QObject* watched, QEvent* event) override; --- -cgit v1.1 - diff --git a/app-office/libreoffice/files/libreoffice-6.1.5.2-gtk3_kde5-set-kfilewidgets-custom-widget-only-once.patch b/app-office/libreoffice/files/libreoffice-6.1.5.2-gtk3_kde5-set-kfilewidgets-custom-widget-only-once.patch deleted file mode 100644 index 69134a8b9922..000000000000 --- a/app-office/libreoffice/files/libreoffice-6.1.5.2-gtk3_kde5-set-kfilewidgets-custom-widget-only-once.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7b54f3db98e96231fc9f16429f325cdb1f37498c Mon Sep 17 00:00:00 2001 -From: Michael Weghorn <m.weghorn@posteo.de> -Date: Thu, 31 Jan 2019 09:52:51 +0100 -Subject: tdf#123077 gtk3_kde5: Set KFileWidget's custom widget only once - -Since the event filter is only used to set the custom -widget in the KFileWidget, it can and needs to be removed -again once this has been done; which also avoids crashes. - -(s. https://gerrit.libreoffice.org/#/c/67185/ for more -infos, where the same thing is done for kde5) - -Change-Id: I5c719fb17510916b4730ed5c00bb638df2f183e3 -Reviewed-on: https://gerrit.libreoffice.org/67184 -Tested-by: Jenkins -Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> -(cherry picked from commit 30cc54a4532a732a0cf6dfe9943521978ff7292f) -Reviewed-on: https://gerrit.libreoffice.org/67203 -Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> ---- - vcl/unx/gtk3_kde5/kde5_filepicker.cxx | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/vcl/unx/gtk3_kde5/kde5_filepicker.cxx b/vcl/unx/gtk3_kde5/kde5_filepicker.cxx -index 33f64ad0..9914869 100644 ---- a/vcl/unx/gtk3_kde5/kde5_filepicker.cxx -+++ b/vcl/unx/gtk3_kde5/kde5_filepicker.cxx -@@ -265,7 +265,11 @@ bool KDE5FilePicker::eventFilter(QObject* o, QEvent* e) - { - KWindowSystem::setMainWindow(w, _winId); - if (auto* fileWidget = w->findChild<KFileWidget*>({}, Qt::FindDirectChildrenOnly)) -+ { - fileWidget->setCustomWidget(_extraControls); -+ // remove event filter again; the only purpose was to set the custom widget here -+ qApp->removeEventFilter(this); -+ } - } - } - return QObject::eventFilter(o, e); --- -cgit v1.1 - diff --git a/app-office/libreoffice/libreoffice-6.1.5.2.ebuild b/app-office/libreoffice/libreoffice-6.1.5.2.ebuild deleted file mode 100644 index d5b28f6d0e0d..000000000000 --- a/app-office/libreoffice/libreoffice-6.1.5.2.ebuild +++ /dev/null @@ -1,575 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 python3_{5,6,7} ) -PYTHON_REQ_USE="threads(+),xml" - -MY_PV="${PV/_alpha/.alpha}" -MY_PV="${MY_PV/_beta/.beta}" -# experimental ; release ; old -# Usually the tarballs are moved a lot so this should make everyone happy. -DEV_URI=" - https://dev-builds.libreoffice.org/pre-releases/src - https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/ - https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src -" -ADDONS_URI="https://dev-www.libreoffice.org/src/" - -BRANDING="${PN}-branding-gentoo-0.8.tar.xz" -# PATCHSET="${P}-patchset-01.tar.xz" - -[[ ${MY_PV} == *9999* ]] && inherit git-r3 -inherit autotools bash-completion-r1 check-reqs eapi7-ver flag-o-matic gnome2-utils java-pkg-opt-2 multiprocessing pax-utils python-single-r1 qmake-utils toolchain-funcs xdg-utils - -DESCRIPTION="A full office productivity suite" -HOMEPAGE="https://www.libreoffice.org" -SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )" -[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}" - -# Split modules following git/tarballs; Core MUST be first! -# Help is used for the image generator -# Only release has the tarballs -if [[ ${MY_PV} != *9999* ]]; then - for i in ${DEV_URI}; do - SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz" - SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz" - done - unset i -fi -unset DEV_URI - -# Really required addons -# These are bundles that can't be removed for now due to huge patchsets. -# If you want them gone, patches are welcome. -ADDONS_SRC=( - "java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )" - # no release for 8 years, should we package it? - "libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )" - # Does not build with 1.6 rhino at all - "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )" - # requirement of rhino - "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )" - # not packageable - "odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )" -) -SRC_URI+=" ${ADDONS_SRC[*]}" - -unset ADDONS_URI -unset ADDONS_SRC - -# Extensions that need extra work: -LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher" - -IUSE="accessibility bluetooth +branding coinmp +cups dbus debug eds firebird -googledrive gstreamer +gtk gtk2 kde mysql odk pdfimport postgres test vlc -$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})" - -REQUIRED_USE="${PYTHON_REQUIRED_USE} - bluetooth? ( dbus ) - kde? ( gtk ) - libreoffice_extensions_nlpsolver? ( java ) - libreoffice_extensions_scripting-beanshell? ( java ) - libreoffice_extensions_scripting-javascript? ( java ) - libreoffice_extensions_wiki-publisher? ( java ) -" - -LICENSE="|| ( LGPL-3 MPL-1.1 )" -SLOT="0" -[[ ${MY_PV} == *9999* ]] || \ -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux" - -COMMON_DEPEND="${PYTHON_DEPS} - app-arch/unzip - app-arch/zip - app-crypt/gpgme[cxx] - app-text/hunspell:= - >=app-text/libabw-0.1.0 - >=app-text/libebook-0.1 - app-text/libepubgen - >=app-text/libetonyek-0.1 - app-text/libexttextcat - app-text/liblangtag - >=app-text/libmspub-0.1.0 - >=app-text/libmwaw-0.3.1 - app-text/libnumbertext - >=app-text/libodfgen-0.1.0 - app-text/libqxp - app-text/libstaroffice - app-text/libwpd:0.10[tools] - app-text/libwpg:0.3 - >=app-text/libwps-0.4 - app-text/mythes - >=dev-cpp/clucene-2.3.3.4-r2 - =dev-cpp/libcmis-0.5* - dev-db/unixODBC - dev-lang/perl - dev-libs/boost:=[nls] - dev-libs/expat - dev-libs/hyphen - dev-libs/icu:= - dev-libs/libassuan - dev-libs/libgpg-error - =dev-libs/liborcus-0.13* - dev-libs/librevenge - dev-libs/libxml2 - dev-libs/libxslt - dev-libs/nspr - dev-libs/nss - >=dev-libs/redland-1.0.16 - >=dev-libs/xmlsec-1.2.24[nss] - media-gfx/graphite2 - media-libs/fontconfig - media-libs/freetype:2 - >=media-libs/harfbuzz-0.9.42:=[graphite,icu] - media-libs/lcms:2 - >=media-libs/libcdr-0.1.0 - >=media-libs/libepoxy-1.3.1[X] - >=media-libs/libfreehand-0.1.0 - media-libs/libpagemaker - >=media-libs/libpng-1.4:0= - >=media-libs/libvisio-0.1.0 - media-libs/libzmf - net-libs/neon - net-misc/curl - net-nds/openldap - sci-mathematics/lpsolve - sys-libs/zlib - virtual/glu - virtual/jpeg:0 - virtual/opengl - x11-libs/cairo[X] - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - accessibility? ( dev-python/lxml[${PYTHON_USEDEP}] ) - bluetooth? ( net-wireless/bluez ) - coinmp? ( sci-libs/coinor-mp ) - cups? ( net-print/cups ) - dbus? ( dev-libs/dbus-glib ) - eds? ( - dev-libs/glib:2 - gnome-base/dconf - gnome-extra/evolution-data-server - ) - firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] ) - gstreamer? ( - media-libs/gstreamer:1.0 - media-libs/gst-plugins-base:1.0 - ) - gtk? ( - dev-libs/glib:2 - dev-libs/gobject-introspection - gnome-base/dconf - media-libs/mesa[egl] - x11-libs/gtk+:3 - x11-libs/pango - ) - gtk2? ( - x11-libs/gdk-pixbuf - >=x11-libs/gtk+-2.24:2 - x11-libs/pango - ) - kde? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtx11extras:5 - dev-qt/qtwidgets:5 - kde-frameworks/kconfig:5 - kde-frameworks/kcoreaddons:5 - kde-frameworks/ki18n:5 - kde-frameworks/kio:5 - kde-frameworks/kwindowsystem:5 - ) - libreoffice_extensions_scripting-beanshell? ( dev-java/bsh ) - libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 ) - mysql? ( dev-db/mysql-connector-c++ ) - pdfimport? ( app-text/poppler:=[cxx] ) - postgres? ( >=dev-db/postgresql-9.0:*[kerberos] ) -" - -RDEPEND="${COMMON_DEPEND} - !app-office/libreoffice-bin - !app-office/libreoffice-bin-debug - !app-office/openoffice - media-fonts/liberation-fonts - || ( x11-misc/xdg-utils kde-plasma/kde-cli-tools ) - java? ( >=virtual/jre-1.6 ) - kde? ( kde-frameworks/breeze-icons:* ) - vlc? ( media-video/vlc ) -" - -if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then - PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*" -else - # Translations are not reliable on live ebuilds - # rather force people to use english only. - PDEPEND="!app-office/libreoffice-l10n" -fi - -# FIXME: cppunit should be moved to test conditional -# after everything upstream is under gbuild -# as dmake execute tests right away -# tests apparently also need google-carlito-fonts (not packaged) -DEPEND="${COMMON_DEPEND} - >=dev-libs/libatomic_ops-7.2d - dev-perl/Archive-Zip - >=dev-util/cppunit-1.14.0 - >=dev-util/gperf-3 - dev-util/intltool - =dev-util/mdds-1.3*:1= - media-libs/glm - sys-devel/bison - sys-devel/flex - sys-devel/gettext - sys-devel/ucpp - virtual/pkgconfig - x11-base/xorg-proto - x11-libs/libXt - x11-libs/libXtst - java? ( - dev-java/ant-core - >=virtual/jdk-1.6 - ) - odk? ( >=app-doc/doxygen-1.8.4 ) - test? ( - app-crypt/gnupg - dev-util/cppunit - media-fonts/dejavu - media-fonts/liberation-fonts - ) -" - -PATCHES=( - # "${WORKDIR}"/${PATCHSET/.tar.xz/} - - # not upstreamable stuff - "${FILESDIR}/${PN}-5.4-system-pyuno.patch" - "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch" - "${FILESDIR}/${PN}-6.1-nomancompress.patch" - - # master branch - "${FILESDIR}/${P}-gtk3_kde5-non-native-fpicker-for-non-plasma.patch" - "${FILESDIR}/${P}-gtk3_kde5-set-kfilewidgets-custom-widget-only-once.patch" -) - -S="${WORKDIR}/${PN}-${MY_PV}" - -_check_reqs() { - CHECKREQS_MEMORY="512M" - if is-flagq "-g*" && ! is-flagq "-g*0" ; then - CHECKREQS_DISK_BUILD="22G" - else - CHECKREQS_DISK_BUILD="6G" - fi - check-reqs_$1 -} - -pkg_pretend() { - use java || \ - ewarn "If you plan to use Base application you should enable java or you will get various crashes." - - if has_version "<app-office/libreoffice-5.3.0[firebird]"; then - ewarn "Firebird has been upgraded to version 3. It is unable to read back Firebird 2.5 data, so" - ewarn "embedded firebird odb files created in LibreOffice pre-5.3 can't be opened with this version." - ewarn "See also: https://wiki.documentfoundation.org/ReleaseNotes/5.3#Base" - fi - - [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup - xdg_environment_reset - - [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup -} - -src_unpack() { - default - - if [[ ${MY_PV} = *9999* ]]; then - local base_uri branch mypv - base_uri="https://anongit.freedesktop.org/git" - branch="master" - mypv=${MY_PV/.9999} - [[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}" - git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}" - git-r3_checkout "${base_uri}/${PN}/core" - LOCOREGIT_VERSION=${EGIT_VERSION} - - git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master" - git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help - fi -} - -src_prepare() { - default - - # sandbox violations on many systems, we don't need it. Bug #646406 - sed -i \ - -e "/KF5_CONFIG/s/kf5-config/no/" \ - configure.ac || die "Failed to disable kf5-config" - - AT_M4DIR="m4" eautoreconf - # hack in the autogen.sh - touch autogen.lastrun - - # system pyuno mess - sed -i \ - -e "s:%eprefix%:${EPREFIX}:g" \ - -e "s:%libdir%:$(get_libdir):g" \ - pyuno/source/module/uno.py \ - pyuno/source/officehelper.py || die - # sed in the tests - sed -i \ - -e "s#all : build unitcheck#all : build#g" \ - solenv/gbuild/Module.mk || die - sed -i \ - -e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \ - -e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \ - Makefile.in || die - - sed -i \ - -e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \ - -e "s,\$INSTALLDIRNAME.sh,${PN}," \ - bin/distro-install-desktop-integration || die - - if use branding; then - # hack... - mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die - fi - - # Don't list pdfimport support in desktop when built with none, bug # 605464 - if ! use pdfimport; then - sed -i \ - -e ":MimeType: s:application/pdf;::" \ - -e ":Keywords: s:pdf;::" \ - sysui/desktop/menus/draw.desktop || die - fi -} - -src_configure() { - # Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys - # Note: these are for Gentoo use ONLY. For your own distribution, please get - # your own set of keys. Feel free to contact chromium@gentoo.org for more info. - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - - # optimization flags - export GMAKE_OPTIONS="${MAKEOPTS}" - # System python enablement: - export PYTHON_CFLAGS=$(python_get_CFLAGS) - export PYTHON_LIBS=$(python_get_LIBS) - - if use kde; then - export QT_SELECT=5 # bug 639620 needs proper fix though - export QT5DIR="$(qt5_get_bindir)/../" - export MOC5="$(qt5_get_bindir)/moc" - fi - - local gentoo_buildid="Gentoo official package" - if [[ -n ${LOCOREGIT_VERSION} ]]; then - gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})" - fi - - # system headers/libs/...: enforce using system packages - # --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad - # --enable-cairo: ensure that cairo is always required - # --enable-*-link: link to the library rather than just dlopen on runtime - # --enable-release-build: build the libreoffice as release - # --disable-fetch-external: prevent dowloading during compile phase - # --enable-extension-integration: enable any extension integration support - # --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs - # --disable-report-builder: too much java packages pulled in without pkgs - # --without-system-sane: just sane.h header that is used for scan in writer, - # not linked or anything else, worthless to depend on - # --disable-pdfium: not yet packaged - local myeconfargs=( - --with-system-dicts - --with-system-epoxy - --with-system-headers - --with-system-jars - --with-system-libs - --enable-cairo-canvas - --enable-largefile - --enable-mergelibs - --enable-neon - --enable-python=system - --enable-randr - --enable-release-build - --disable-breakpad - --disable-ccache - --disable-dependency-tracking - --disable-epm - --disable-fetch-external - --disable-gstreamer-0-10 - --disable-kde5 - --disable-online-update - --disable-openssl - --disable-pdfium - --disable-qt5 - --disable-report-builder - --with-alloc=system - --with-build-version="${gentoo_buildid}" - --enable-extension-integration - --with-external-dict-dir="${EPREFIX}/usr/share/myspell" - --with-external-hyph-dir="${EPREFIX}/usr/share/myspell" - --with-external-thes-dir="${EPREFIX}/usr/share/myspell" - --with-external-tar="${DISTDIR}" - --with-lang="" - --with-parallelism=$(makeopts_jobs) - --with-system-ucpp - --with-tls=nss - --with-vendor="Gentoo Foundation" - --with-x - --without-fonts - --without-myspell-dicts - --without-help - --with-helppack-integration - --with-system-gpgmepp - --without-system-sane - $(use_enable bluetooth sdremote-bluetooth) - $(use_enable coinmp) - $(use_enable cups) - $(use_enable dbus) - $(use_enable debug) - $(use_enable eds evolution2) - $(use_enable firebird firebird-sdbc) - $(use_enable gstreamer gstreamer-1-0) - $(use_enable gtk gtk3) - $(use_enable gtk2 gtk) - $(use_enable kde gtk3-kde5) - $(use_enable mysql ext-mariadb-connector) - $(use_enable odk) - $(use_enable pdfimport) - $(use_enable postgres postgresql-sdbc) - $(use_enable vlc) - $(use_with accessibility lxml) - $(use_with coinmp system-coinmp) - $(use_with googledrive gdrive-client-id ${google_default_client_id}) - $(use_with googledrive gdrive-client-secret ${google_default_client_secret}) - $(use_with java) - $(use_with mysql system-mysql-cppconn) - $(use_with odk doxygen) - ) - - if use eds || use gtk; then - myeconfargs+=( --enable-dconf --enable-gio ) - else - myeconfargs+=( --disable-dconf --disable-gio ) - fi - - # libreoffice extensions handling - for lo_xt in ${LO_EXTS}; do - if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then - myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) ) - else - myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) ) - fi - done - - if use java; then - # hsqldb: system one is too new - myeconfargs+=( - --without-junit - --without-system-hsqldb - --with-ant-home="${ANT_HOME}" - --with-jdk-home=$(java-config --jdk-home 2>/dev/null) - --with-jvm-path="${EPREFIX}/usr/lib/" - ) - - use libreoffice_extensions_scripting-beanshell && \ - myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) ) - - use libreoffice_extensions_scripting-javascript && \ - myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar) ) - fi - - is-flagq "-flto*" && myeconfargs+=( --enable-lto ) - - econf "${myeconfargs[@]}" -} - -src_compile() { - # more and more LO stuff tries to use OpenGL, including tests during build - # bug 501508, bug 540624, bug 545974 and probably more - addpredict /dev/dri - addpredict /dev/ati - addpredict /dev/nvidiactl - - # hack for offlinehelp, this needs fixing upstream at some point - # it is broken because we send --without-help - # https://bugs.freedesktop.org/show_bug.cgi?id=46506 - ( - grep "^export" "${S}/config_host.mk" > "${T}/config_host.mk" || die - source "${T}/config_host.mk" 2&> /dev/null - - local path="${WORKDIR}/helpcontent2/source/auxiliary/" - mkdir -p "${path}" || die - - echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=helpcontent2/source/media/helpimg > \"${path}/helpimg.ilst\"" - perl "${S}/helpcontent2/helpers/create_ilst.pl" \ - -dir=helpcontent2/source/media/helpimg \ - > "${path}/helpimg.ilst" - [[ -s "${path}/helpimg.ilst" ]] || \ - ewarn "The help images list is empty, something is fishy, report a bug." - ) - - local target - use test && target="build" || target="build-nocheck" - - # this is not a proper make script - make ${target} || die -} - -src_test() { - make unitcheck || die - make slowcheck || die -} - -src_install() { - # This is not Makefile so no buildserver - make DESTDIR="${D}" distro-pack-install -o build -o check || die - - # bug 593514 - if use gtk; then - dosym libreoffice/program/liblibreofficekitgtk.so \ - /usr/$(get_libdir)/liblibreofficekitgtk.so - fi - - # bash completion aliases - bashcomp_alias \ - libreoffice \ - unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice - - if use branding; then - insinto /usr/$(get_libdir)/${PN}/program - newins "${WORKDIR}/branding-sofficerc" sofficerc - dodir /etc/env.d - echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"etc/env.d/99${PN} || die - fi - - # Hack for offlinehelp, this needs fixing upstream at some point. - # It is broken because we send --without-help - # https://bugs.freedesktop.org/show_bug.cgi?id=46506 - insinto /usr/$(get_libdir)/libreoffice/help - doins xmlhelp/util/*.xsl - - pax-mark -m "${ED}"usr/$(get_libdir)/libreoffice/program/soffice.bin - pax-mark -m "${ED}"usr/$(get_libdir)/libreoffice/program/unopkg.bin -} - -pkg_postinst() { - gnome2_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update -} - -pkg_postrm() { - gnome2_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update -} |