Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-office/libreoffice/files/, app-office/libreoffice/
Date: Thu, 26 Dec 2019 08:37:05
Message-Id: 1577349394.c4f7f90528b26fbd9e4f96313cc7102a2dca6cd0.asturm@gentoo
1 commit: c4f7f90528b26fbd9e4f96313cc7102a2dca6cd0
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Wed Dec 25 20:56:26 2019 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 26 08:36:34 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4f7f905
7
8 app-office/libreoffice: 6.3.4.2 version bump
9
10 Fixes build with app-text/poppler-0.83.0.
11
12 Closes: https://bugs.gentoo.org/703624
13 Package-Manager: Portage-2.3.83, Repoman-2.3.20
14 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
15
16 app-office/libreoffice/Manifest | 2 +
17 .../files/libreoffice-6.3.4.2-poppler-0.83.patch | 72 +++
18 app-office/libreoffice/libreoffice-6.3.4.2.ebuild | 554 +++++++++++++++++++++
19 3 files changed, 628 insertions(+)
20
21 diff --git a/app-office/libreoffice/Manifest b/app-office/libreoffice/Manifest
22 index 50f980722c3..16a3e96ee7a 100644
23 --- a/app-office/libreoffice/Manifest
24 +++ b/app-office/libreoffice/Manifest
25 @@ -5,6 +5,8 @@ DIST 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip 1521926 BLAKE2B d2769842c18
26 DIST a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip 23150 BLAKE2B 51db6bd90585b13857ecb494c805c9fb6874e1e65d7aee73d23e1716670836a14b376bcca810f96fd55b0ed653b2660a268030f246c822cbb04f867ef763a3b3 SHA512 2d3835f7ac356805025cafedcad97faa48d0f5da386e6ac7b7451030059df8e2fdb0861ade07a576ebf9fb5b88a973585ab0437944b06aac9289d6898ba8586a
27 DIST libreoffice-6.2.8.2.tar.xz 215070800 BLAKE2B d6bc1e94de1df4dd20dafaeac9702435f305fe15117e8aee02233c6d2e74423bb475aeaf79ff6dcd30e22d69a5d6f0648218819b08003524a2c7b1db340281c4 SHA512 cf1dd708f10ea4b9a3134851cad45fe91c1d535e2b2068f7e65f1cb1bf4076c5c41ec253f628c5b912590e91ccfe16f5c8bcf39bc92df2ec7c8aef84210349bd
28 DIST libreoffice-6.3.3.2.tar.xz 224944844 BLAKE2B 16d58d1b34f6a7da5a9cb32dade8f15ce074f516b77d6481f1befec75572f2533f3ae19964ce2688ff121789241a11823f05768b3386bc755f015a243af6c55a SHA512 4809ce26c48419e1e8408bdd71e7aeec3940bad150afeb90034013fbe8757c37417da3a996f8935aac3103806e14bd47dee7e560051d6718a75e6b869a2b1934
29 +DIST libreoffice-6.3.4.2.tar.xz 225632492 BLAKE2B 587fe7e6298ded60fa08963f572733eb8e387c00b428201bb6f1de7eddcf9d9ee97438231ed3f961bd22628bde0fd9dfeacb63febdc566cde781bcebb9c9a71d SHA512 2ed687ae805da36635419729066a2924f1e38a6b0f8d2692c42b366450a261012adfcd8a5d7915d9cfd292d07519fc32c596cdb56d7be6b12a49618b18d6f3d2
30 DIST libreoffice-branding-gentoo-0.8.tar.xz 151568 BLAKE2B f03c7ddeb53c5ca3fd23401679601fcf2c4037ba17be4eb7b784c7ce7ebb71a24b8ab4aac8b7da8c6b1f14dd23bc1294ba85ff4f70ad271fb4ee3c5372e10883 SHA512 785031a699b1d1895ce4b50ffc3ddf645f3a0ef9acdf37facfd18cf75db9484cb8f53a50abb63d6006ead76a80b6ff5aa99661063245ebb84bd64013d713de7f
31 DIST libreoffice-help-6.2.8.2.tar.xz 13024032 BLAKE2B 524ba3ff77670afeddddbf8be4724b5e54f9b157582cfcac8640e2184b8ae24c8e5e01b924415949f1756c18e2d54b8eab7efb78c979321e50b6d52b741ddd49 SHA512 c1f5b1b3c50da0a47a9724c9fc3544a15b7df72e66c5c2008afeae7732e2b29f0e57e64ce9a216c3237acdb4345715525f32be290f3196ba6e28685fa6c0925c
32 DIST libreoffice-help-6.3.3.2.tar.xz 13192080 BLAKE2B 108f33d77ec24ac5f5b669aae72dc23f0ae1800038d9028a3c92b6dfbe09003cb6d9f89a6675162c8cb058ac850a0e7c5544f8692c527cfa83bd32ba28149a50 SHA512 c4d994c4047aeee5e35207228e2b62ccc7d7303ae8fcbfb52cbf73950f232ad8d45953ee364379d3834e79c59ab79df920ec624ebe4b7214f955c2bd89af7cee
33 +DIST libreoffice-help-6.3.4.2.tar.xz 13191636 BLAKE2B c1696efa0ec9fef9dbcc0c0388de8a384484af1453d200e08820ba910cdcb65638b189566a19868281fd1777213812fde06adb07c1a662302eea1d0a791ff5a0 SHA512 8c74c82c7d73adb1523300d1f7500769f5a623fdba60b440a63c122cbfeb631a6a34ecbcb115b0154a6957be1918306f7d0c1f465030f8e8cfd5c9a1acad17c9
34
35 diff --git a/app-office/libreoffice/files/libreoffice-6.3.4.2-poppler-0.83.patch b/app-office/libreoffice/files/libreoffice-6.3.4.2-poppler-0.83.patch
36 new file mode 100644
37 index 00000000000..d5697f29f01
38 --- /dev/null
39 +++ b/app-office/libreoffice/files/libreoffice-6.3.4.2-poppler-0.83.patch
40 @@ -0,0 +1,72 @@
41 +From 9065cd8d9a19864f6b618f2dc10daf577badd9ee Mon Sep 17 00:00:00 2001
42 +From: Martin Milata <martin@××××××××××××.cz>
43 +Date: Wed, 4 Dec 2019 02:37:40 +0100
44 +Subject: Fix build with poppler-0.83
45 +
46 +Change-Id: I7a3684932b8f9c403a3368b42fa4d8039c67f1a9
47 +Reviewed-on: https://gerrit.libreoffice.org/84384
48 +Tested-by: Jenkins
49 +Reviewed-by: Michael Stahl <michael.stahl@×××.de>
50 +---
51 + sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 7 +++++++
52 + sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx | 4 ++++
53 + sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx | 4 ++++
54 + 3 files changed, 15 insertions(+)
55 +
56 +diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
57 +index 26048177e87d..e9c2a407c279 100644
58 +--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
59 ++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
60 +@@ -491,11 +491,18 @@ void PDFOutDev::writeFontFile( GfxFont* gfxFont ) const
61 + gfree(pBuf);
62 + }
63 +
64 ++#if POPPLER_CHECK_VERSION(0, 83, 0)
65 ++void PDFOutDev::printPath( const GfxPath* pPath )
66 ++#else
67 + void PDFOutDev::printPath( GfxPath* pPath )
68 ++#endif
69 + {
70 + int nSubPaths = pPath ? pPath->getNumSubpaths() : 0;
71 + for( int i=0; i<nSubPaths; i++ )
72 + {
73 ++#if POPPLER_CHECK_VERSION(0, 83, 0)
74 ++ const
75 ++#endif
76 + GfxSubpath* pSub = pPath->getSubpath( i );
77 + const int nPoints = pSub->getNumPoints();
78 +
79 +diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
80 +index 02f6b59f6f15..2e7d2186f9a1 100644
81 +--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
82 ++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
83 +@@ -149,7 +149,11 @@ namespace pdfi
84 +
85 + int parseFont( long long nNewId, GfxFont* pFont, GfxState* state ) const;
86 + void writeFontFile( GfxFont* gfxFont ) const;
87 ++#if POPPLER_CHECK_VERSION(0, 83, 0)
88 ++ static void printPath( const GfxPath* pPath );
89 ++#else
90 + static void printPath( GfxPath* pPath );
91 ++#endif
92 +
93 + public:
94 + explicit PDFOutDev( PDFDoc* pDoc );
95 +diff --git a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
96 +index 42178b650cdd..b1a54bd09c5f 100644
97 +--- a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
98 ++++ b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
99 +@@ -68,7 +68,11 @@ int main(int argc, char **argv)
100 + }
101 +
102 + // read config file
103 ++#if POPPLER_CHECK_VERSION(0, 83, 0)
104 ++ globalParams = std::make_unique<GlobalParams>();
105 ++#else
106 + globalParams = new GlobalParams();
107 ++#endif
108 + globalParams->setErrQuiet(true);
109 + #if defined(_MSC_VER)
110 + globalParams->setupBaseFonts(nullptr);
111 +--
112 +cgit v1.2.1
113
114 diff --git a/app-office/libreoffice/libreoffice-6.3.4.2.ebuild b/app-office/libreoffice/libreoffice-6.3.4.2.ebuild
115 new file mode 100644
116 index 00000000000..550acf13ab8
117 --- /dev/null
118 +++ b/app-office/libreoffice/libreoffice-6.3.4.2.ebuild
119 @@ -0,0 +1,554 @@
120 +# Copyright 1999-2019 Gentoo Authors
121 +# Distributed under the terms of the GNU General Public License v2
122 +
123 +EAPI=7
124 +
125 +PYTHON_COMPAT=( python3_{6,7,8} )
126 +PYTHON_REQ_USE="threads(+),xml"
127 +
128 +MY_PV="${PV/_alpha/.alpha}"
129 +MY_PV="${MY_PV/_beta/.beta}"
130 +# experimental ; release ; old
131 +# Usually the tarballs are moved a lot so this should make everyone happy.
132 +DEV_URI="
133 + https://dev-builds.libreoffice.org/pre-releases/src
134 + https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/
135 + https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src
136 +"
137 +ADDONS_URI="https://dev-www.libreoffice.org/src/"
138 +
139 +BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
140 +# PATCHSET="${P}-patchset-01.tar.xz"
141 +
142 +[[ ${MY_PV} == *9999* ]] && inherit git-r3
143 +inherit autotools bash-completion-r1 check-reqs flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
144 +
145 +DESCRIPTION="A full office productivity suite"
146 +HOMEPAGE="https://www.libreoffice.org"
147 +SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
148 +[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}"
149 +
150 +# Split modules following git/tarballs; Core MUST be first!
151 +# Help is used for the image generator
152 +# Only release has the tarballs
153 +if [[ ${MY_PV} != *9999* ]]; then
154 + for i in ${DEV_URI}; do
155 + SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz"
156 + SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz"
157 + done
158 + unset i
159 +fi
160 +unset DEV_URI
161 +
162 +# Really required addons
163 +# These are bundles that can't be removed for now due to huge patchsets.
164 +# If you want them gone, patches are welcome.
165 +ADDONS_SRC=(
166 + "java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
167 + # no release for 8 years, should we package it?
168 + "libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
169 + # Does not build with 1.6 rhino at all
170 + "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
171 + # requirement of rhino
172 + "libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
173 + # not packageable
174 + "odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
175 +)
176 +SRC_URI+=" ${ADDONS_SRC[*]}"
177 +
178 +unset ADDONS_URI
179 +unset ADDONS_SRC
180 +
181 +# Extensions that need extra work:
182 +LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
183 +
184 +IUSE="accessibility bluetooth +branding coinmp +cups dbus debug eds firebird
185 +googledrive gstreamer +gtk gtk2 kde ldap +mariadb odk pdfimport postgres test
186 +$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
187 +
188 +REQUIRED_USE="${PYTHON_REQUIRED_USE}
189 + bluetooth? ( dbus )
190 + libreoffice_extensions_nlpsolver? ( java )
191 + libreoffice_extensions_scripting-beanshell? ( java )
192 + libreoffice_extensions_scripting-javascript? ( java )
193 + libreoffice_extensions_wiki-publisher? ( java )
194 +"
195 +
196 +LICENSE="|| ( LGPL-3 MPL-1.1 )"
197 +SLOT="0"
198 +[[ ${MY_PV} == *9999* ]] || \
199 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
200 +
201 +BDEPEND="
202 + dev-util/intltool
203 + sys-devel/bison
204 + sys-devel/flex
205 + sys-devel/gettext
206 + virtual/pkgconfig
207 + odk? ( >=app-doc/doxygen-1.8.4 )
208 +"
209 +COMMON_DEPEND="${PYTHON_DEPS}
210 + app-arch/unzip
211 + app-arch/zip
212 + app-crypt/gpgme[cxx]
213 + app-text/hunspell:=
214 + >=app-text/libabw-0.1.0
215 + >=app-text/libebook-0.1
216 + app-text/libepubgen
217 + >=app-text/libetonyek-0.1
218 + app-text/libexttextcat
219 + app-text/liblangtag
220 + >=app-text/libmspub-0.1.0
221 + >=app-text/libmwaw-0.3.1
222 + app-text/libnumbertext
223 + >=app-text/libodfgen-0.1.0
224 + app-text/libqxp
225 + app-text/libstaroffice
226 + app-text/libwpd:0.10[tools]
227 + app-text/libwpg:0.3
228 + >=app-text/libwps-0.4
229 + app-text/mythes
230 + >=dev-cpp/clucene-2.3.3.4-r2
231 + >=dev-cpp/libcmis-0.5.2
232 + dev-db/unixODBC
233 + dev-lang/perl
234 + dev-libs/boost:=[nls]
235 + dev-libs/expat
236 + dev-libs/hyphen
237 + dev-libs/icu:=
238 + dev-libs/libassuan
239 + dev-libs/libgpg-error
240 + >=dev-libs/liborcus-0.14.0
241 + dev-libs/librevenge
242 + dev-libs/libxml2
243 + dev-libs/libxslt
244 + dev-libs/nspr
245 + dev-libs/nss
246 + >=dev-libs/redland-1.0.16
247 + >=dev-libs/xmlsec-1.2.28[nss]
248 + media-gfx/fontforge
249 + media-gfx/graphite2
250 + media-libs/fontconfig
251 + media-libs/freetype:2
252 + >=media-libs/harfbuzz-0.9.42:=[graphite,icu]
253 + media-libs/lcms:2
254 + >=media-libs/libcdr-0.1.0
255 + >=media-libs/libepoxy-1.3.1[X]
256 + >=media-libs/libfreehand-0.1.0
257 + media-libs/libpagemaker
258 + >=media-libs/libpng-1.4:0=
259 + >=media-libs/libvisio-0.1.0
260 + media-libs/libzmf
261 + net-libs/neon
262 + net-misc/curl
263 + sci-mathematics/lpsolve
264 + sys-libs/zlib
265 + virtual/glu
266 + virtual/jpeg:0
267 + virtual/opengl
268 + x11-libs/cairo[X]
269 + x11-libs/libXinerama
270 + x11-libs/libXrandr
271 + x11-libs/libXrender
272 + accessibility? ( dev-python/lxml[${PYTHON_USEDEP}] )
273 + bluetooth? (
274 + dev-libs/glib:2
275 + net-wireless/bluez
276 + )
277 + coinmp? ( sci-libs/coinor-mp )
278 + cups? ( net-print/cups )
279 + dbus? ( sys-apps/dbus )
280 + eds? (
281 + dev-libs/glib:2
282 + gnome-base/dconf
283 + gnome-extra/evolution-data-server
284 + )
285 + firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] )
286 + gstreamer? (
287 + media-libs/gstreamer:1.0
288 + media-libs/gst-plugins-base:1.0
289 + )
290 + gtk? (
291 + dev-libs/glib:2
292 + dev-libs/gobject-introspection
293 + gnome-base/dconf
294 + media-libs/mesa[egl]
295 + x11-libs/gtk+:3
296 + x11-libs/pango
297 + )
298 + gtk2? (
299 + x11-libs/gdk-pixbuf
300 + >=x11-libs/gtk+-2.24:2
301 + x11-libs/pango
302 + )
303 + kde? (
304 + dev-qt/qtcore:5
305 + dev-qt/qtgui:5
306 + dev-qt/qtwidgets:5
307 + dev-qt/qtx11extras:5
308 + kde-frameworks/kconfig:5
309 + kde-frameworks/kcoreaddons:5
310 + kde-frameworks/ki18n:5
311 + kde-frameworks/kio:5
312 + kde-frameworks/kwindowsystem:5
313 + )
314 + ldap? ( net-nds/openldap )
315 + libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
316 + libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
317 + mariadb? ( dev-db/mariadb-connector-c )
318 + !mariadb? ( dev-db/mysql-connector-c )
319 + pdfimport? ( app-text/poppler:=[cxx] )
320 + postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
321 +"
322 +# FIXME: cppunit should be moved to test conditional
323 +# after everything upstream is under gbuild
324 +# as dmake execute tests right away
325 +# tests apparently also need google-carlito-fonts (not packaged)
326 +DEPEND="${COMMON_DEPEND}
327 + >=dev-libs/libatomic_ops-7.2d
328 + dev-perl/Archive-Zip
329 + >=dev-util/cppunit-1.14.0
330 + >=dev-util/gperf-3.1
331 + >=dev-util/mdds-1.4.1:1=
332 + media-libs/glm
333 + sys-devel/ucpp
334 + x11-base/xorg-proto
335 + x11-libs/libXt
336 + x11-libs/libXtst
337 + java? (
338 + dev-java/ant-core
339 + >=virtual/jdk-1.6
340 + )
341 + test? (
342 + app-crypt/gnupg
343 + dev-util/cppunit
344 + media-fonts/dejavu
345 + media-fonts/liberation-fonts
346 + )
347 +"
348 +RDEPEND="${COMMON_DEPEND}
349 + !app-office/libreoffice-bin
350 + !app-office/libreoffice-bin-debug
351 + !app-office/openoffice
352 + media-fonts/liberation-fonts
353 + || ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
354 + java? ( >=virtual/jre-1.6 )
355 + kde? ( kde-frameworks/breeze-icons:* )
356 +"
357 +if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then
358 + PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*"
359 +else
360 + # Translations are not reliable on live ebuilds
361 + # rather force people to use english only.
362 + PDEPEND="!app-office/libreoffice-l10n"
363 +fi
364 +
365 +PATCHES=(
366 + # "${WORKDIR}"/${PATCHSET/.tar.xz/}
367 +
368 + # not upstreamable stuff
369 + "${FILESDIR}/${PN}-5.4-system-pyuno.patch"
370 + "${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
371 + "${FILESDIR}/${PN}-6.1-nomancompress.patch"
372 +
373 + # master branch
374 + "${FILESDIR}/${PN}-6.3.3.2-mysql-connector-c-8.patch" # bug #692422
375 + "${FILESDIR}/${P}-poppler-0.83.patch"
376 +)
377 +
378 +S="${WORKDIR}/${PN}-${MY_PV}"
379 +
380 +_check_reqs() {
381 + CHECKREQS_MEMORY="512M"
382 + if is-flagq "-g*" && ! is-flagq "-g*0" ; then
383 + CHECKREQS_DISK_BUILD="22G"
384 + else
385 + CHECKREQS_DISK_BUILD="6G"
386 + fi
387 + check-reqs_$1
388 +}
389 +
390 +pkg_pretend() {
391 + if ! use java && ! use firebird; then
392 + ewarn "If you plan to use Base application you must enable either firebird or java."
393 + fi
394 +
395 + use java || ewarn "Without java, several wizards are not going to be available."
396 +
397 + if has_version "<app-office/libreoffice-5.3.0[firebird]"; then
398 + ewarn "Firebird has been upgraded to version 3. It is unable to read back Firebird 2.5 data, so"
399 + ewarn "embedded firebird odb files created in LibreOffice pre-5.3 can't be opened with this version."
400 + ewarn "See also: https://wiki.documentfoundation.org/ReleaseNotes/5.3#Base"
401 + fi
402 +
403 + [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend
404 +}
405 +
406 +pkg_setup() {
407 + java-pkg-opt-2_pkg_setup
408 + python-single-r1_pkg_setup
409 + xdg_environment_reset
410 +
411 + [[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup
412 +}
413 +
414 +src_unpack() {
415 + default
416 +
417 + if [[ ${MY_PV} = *9999* ]]; then
418 + local base_uri branch mypv
419 + base_uri="https://anongit.freedesktop.org/git"
420 + branch="master"
421 + mypv=${MY_PV/.9999}
422 + [[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}"
423 + git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
424 + git-r3_checkout "${base_uri}/${PN}/core"
425 + LOCOREGIT_VERSION=${EGIT_VERSION}
426 +
427 + git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
428 + git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
429 + fi
430 +}
431 +
432 +src_prepare() {
433 + default
434 +
435 + # sandbox violations on many systems, we don't need it. Bug #646406
436 + sed -i \
437 + -e "/KF5_CONFIG/s/kf5-config/no/" \
438 + configure.ac || die "Failed to disable kf5-config"
439 +
440 + AT_M4DIR="m4" eautoreconf
441 + # hack in the autogen.sh
442 + touch autogen.lastrun
443 +
444 + # system pyuno mess
445 + sed -i \
446 + -e "s:%eprefix%:${EPREFIX}:g" \
447 + -e "s:%libdir%:$(get_libdir):g" \
448 + pyuno/source/module/uno.py \
449 + pyuno/source/officehelper.py || die
450 + # sed in the tests
451 + sed -i \
452 + -e "s#all : build unitcheck#all : build#g" \
453 + solenv/gbuild/Module.mk || die
454 + sed -i \
455 + -e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
456 + -e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
457 + Makefile.in || die
458 +
459 + sed -i \
460 + -e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
461 + -e "s,\$INSTALLDIRNAME.sh,${PN}," \
462 + bin/distro-install-desktop-integration || die
463 +
464 + if use branding; then
465 + # hack...
466 + mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die
467 + fi
468 +
469 + # Don't list pdfimport support in desktop when built with none, bug # 605464
470 + if ! use pdfimport; then
471 + sed -i \
472 + -e ":MimeType: s:application/pdf;::" \
473 + -e ":Keywords: s:pdf;::" \
474 + sysui/desktop/menus/draw.desktop || die
475 + fi
476 +}
477 +
478 +src_configure() {
479 + # Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
480 + # Note: these are for Gentoo use ONLY. For your own distribution, please get
481 + # your own set of keys. Feel free to contact chromium@g.o for more info.
482 + local google_default_client_id="329227923882.apps.googleusercontent.com"
483 + local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
484 +
485 + # optimization flags
486 + export GMAKE_OPTIONS="${MAKEOPTS}"
487 + # System python enablement:
488 + export PYTHON_CFLAGS=$(python_get_CFLAGS)
489 + export PYTHON_LIBS=$(python_get_LIBS)
490 +
491 + if use kde; then
492 + export QT_SELECT=5 # bug 639620 needs proper fix though
493 + export QT5DIR="$(qt5_get_bindir)/../"
494 + export MOC5="$(qt5_get_bindir)/moc"
495 + fi
496 +
497 + local gentoo_buildid="Gentoo official package"
498 + if [[ -n ${LOCOREGIT_VERSION} ]]; then
499 + gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})"
500 + fi
501 +
502 + # system headers/libs/...: enforce using system packages
503 + # --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
504 + # --enable-cairo: ensure that cairo is always required
505 + # --enable-*-link: link to the library rather than just dlopen on runtime
506 + # --enable-release-build: build the libreoffice as release
507 + # --disable-fetch-external: prevent dowloading during compile phase
508 + # --enable-extension-integration: enable any extension integration support
509 + # --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
510 + # --disable-report-builder: too much java packages pulled in without pkgs
511 + # --without-system-sane: just sane.h header that is used for scan in writer,
512 + # not linked or anything else, worthless to depend on
513 + # --disable-pdfium: not yet packaged
514 + local myeconfargs=(
515 + --with-system-dicts
516 + --with-system-epoxy
517 + --with-system-headers
518 + --with-system-jars
519 + --with-system-libs
520 + --enable-build-opensymbol
521 + --enable-cairo-canvas
522 + --enable-largefile
523 + --enable-mergelibs
524 + --enable-neon
525 + --enable-python=system
526 + --enable-randr
527 + --enable-release-build
528 + --disable-breakpad
529 + --disable-bundle-mariadb
530 + --disable-ccache
531 + --disable-dependency-tracking
532 + --disable-epm
533 + --disable-fetch-external
534 + --disable-gstreamer-0-10
535 + --disable-gtk3-kde5
536 + --disable-online-update
537 + --disable-openssl
538 + --disable-pdfium
539 + --disable-report-builder
540 + --disable-vlc
541 + --with-build-version="${gentoo_buildid}"
542 + --enable-extension-integration
543 + --with-external-dict-dir="${EPREFIX}/usr/share/myspell"
544 + --with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
545 + --with-external-thes-dir="${EPREFIX}/usr/share/myspell"
546 + --with-external-tar="${DISTDIR}"
547 + --with-lang=""
548 + --with-parallelism=$(makeopts_jobs)
549 + --with-system-ucpp
550 + --with-tls=nss
551 + --with-vendor="Gentoo Foundation"
552 + --with-x
553 + --without-fonts
554 + --without-myspell-dicts
555 + --with-help="html"
556 + --without-helppack-integration
557 + --with-system-gpgmepp
558 + --without-system-sane
559 + $(use_enable bluetooth sdremote-bluetooth)
560 + $(use_enable coinmp)
561 + $(use_enable cups)
562 + $(use_enable dbus)
563 + $(use_enable debug)
564 + $(use_enable eds evolution2)
565 + $(use_enable firebird firebird-sdbc)
566 + $(use_enable gstreamer gstreamer-1-0)
567 + $(use_enable gtk gtk3)
568 + $(use_enable gtk2 gtk)
569 + $(use_enable kde kde5)
570 + $(use_enable kde qt5)
571 + $(use_enable ldap)
572 + $(use_enable odk)
573 + $(use_enable pdfimport)
574 + $(use_enable postgres postgresql-sdbc)
575 + $(use_with accessibility lxml)
576 + $(use_with coinmp system-coinmp)
577 + $(use_with googledrive gdrive-client-id ${google_default_client_id})
578 + $(use_with googledrive gdrive-client-secret ${google_default_client_secret})
579 + $(use_with java)
580 + $(use_with odk doxygen)
581 + )
582 +
583 + if use eds || use gtk; then
584 + myeconfargs+=( --enable-dconf --enable-gio )
585 + else
586 + myeconfargs+=( --disable-dconf --disable-gio )
587 + fi
588 +
589 + # libreoffice extensions handling
590 + for lo_xt in ${LO_EXTS}; do
591 + if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
592 + myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
593 + else
594 + myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
595 + fi
596 + done
597 +
598 + if use java; then
599 + # hsqldb: system one is too new
600 + myeconfargs+=(
601 + --without-junit
602 + --without-system-hsqldb
603 + --with-ant-home="${ANT_HOME}"
604 + --with-jdk-home=$(java-config --jdk-home 2>/dev/null)
605 + --with-jvm-path="${EPREFIX}/usr/lib/"
606 + )
607 +
608 + use libreoffice_extensions_scripting-beanshell && \
609 + myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
610 +
611 + use libreoffice_extensions_scripting-javascript && \
612 + myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar) )
613 + fi
614 +
615 + is-flagq "-flto*" && myeconfargs+=( --enable-lto )
616 +
617 + MARIADBCONFIG="$(type -p $(usex mariadb mariadb mysql)_config)" \
618 + econf "${myeconfargs[@]}"
619 +}
620 +
621 +src_compile() {
622 + # more and more LO stuff tries to use OpenGL, including tests during build
623 + # bug 501508, bug 540624, bug 545974 and probably more
624 + addpredict /dev/dri
625 + addpredict /dev/ati
626 + addpredict /dev/nvidiactl
627 +
628 + local target
629 + use test && target="build" || target="build-nocheck"
630 +
631 + # this is not a proper make script
632 + make ${target} || die
633 +}
634 +
635 +src_test() {
636 + make unitcheck || die
637 + make slowcheck || die
638 +}
639 +
640 +src_install() {
641 + # This is not Makefile so no buildserver
642 + make DESTDIR="${D}" distro-pack-install -o build -o check || die
643 +
644 + # bug 593514
645 + if use gtk; then
646 + dosym libreoffice/program/liblibreofficekitgtk.so \
647 + /usr/$(get_libdir)/liblibreofficekitgtk.so
648 + fi
649 +
650 + # bash completion aliases
651 + bashcomp_alias \
652 + libreoffice \
653 + unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
654 +
655 + if use branding; then
656 + insinto /usr/$(get_libdir)/${PN}/program
657 + newins "${WORKDIR}/branding-sofficerc" sofficerc
658 + dodir /etc/env.d
659 + echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN} || die
660 + fi
661 +}
662 +
663 +pkg_postinst() {
664 + xdg_icon_cache_update
665 + xdg_desktop_database_update
666 + xdg_mimeinfo_database_update
667 +}
668 +
669 +pkg_postrm() {
670 + xdg_icon_cache_update
671 + xdg_desktop_database_update
672 + xdg_mimeinfo_database_update
673 +}