summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2019-08-13 14:37:23 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2019-08-13 17:56:31 +0200
commit5e2da1fbd47186791c4f3023cbdcc8d991e8d564 (patch)
tree650f56969e7e464c15b7e4fedd35a8811140d633 /app-office
parentdev-python/tagpy: Drop 2013.1 (diff)
downloadgentoo-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')
-rw-r--r--app-office/libreoffice/Manifest2
-rw-r--r--app-office/libreoffice/files/libreoffice-6.1.5.2-gtk3_kde5-non-native-fpicker-for-non-plasma.patch105
-rw-r--r--app-office/libreoffice/files/libreoffice-6.1.5.2-gtk3_kde5-set-kfilewidgets-custom-widget-only-once.patch42
-rw-r--r--app-office/libreoffice/libreoffice-6.1.5.2.ebuild575
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
-}