summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Rees <maxcrees@me.com>2019-06-27 01:49:03 -0400
committerMax Rees <maxcrees@me.com>2020-02-04 19:36:05 -0600
commit00075f842380bff25a1b88a27056973d0341fb31 (patch)
tree371421dbc3c11e203a80fb1ebaa5bb7fbab7906f
parent38c71c751856ba192ebbb44fb8c13a7a3aee4e69 (diff)
downloadpackages-00075f842380bff25a1b88a27056973d0341fb31.tar.gz
packages-00075f842380bff25a1b88a27056973d0341fb31.tar.bz2
packages-00075f842380bff25a1b88a27056973d0341fb31.tar.xz
packages-00075f842380bff25a1b88a27056973d0341fb31.zip
user/libreoffice: [CVE] bump to 6.4.0.3 (#151)
* GTK+2 VCL plugin has been dropped upstream; move to GTK+3 * When porting 6.3.x.x, the Serbian and Serbian (Latin) translations did not build correctly, so they have been disabled for the time being. * Pin subpackage versions to eachother * Remove paxmark * makedepends changelog: + autoconf + automake + libqrcodegen ~ mdds~1.5 - paxmark - gtk+2.0-dev - gdk-pixbuf-dev + gtk+3.0-dev + mesa-dev ~ liborcus-dev~0.15
-rw-r--r--user/libreoffice/APKBUILD129
-rw-r--r--user/libreoffice/boost.patch17
-rw-r--r--user/libreoffice/disable-crc-test.patch71
-rw-r--r--user/libreoffice/disable-mariadbc.patch8
-rw-r--r--user/libreoffice/disable-mysqlc.patch26
-rw-r--r--user/libreoffice/fix-includes.patch11
-rw-r--r--user/libreoffice/linux-musl.patch41
-rw-r--r--user/libreoffice/mso-lockfile-utf16le.patch33
-rw-r--r--user/libreoffice/poppler-0.83.patch70
9 files changed, 229 insertions, 177 deletions
diff --git a/user/libreoffice/APKBUILD b/user/libreoffice/APKBUILD
index b6968e4ab..29ec4c2d3 100644
--- a/user/libreoffice/APKBUILD
+++ b/user/libreoffice/APKBUILD
@@ -6,19 +6,17 @@
# and you definitely don't want "deps" in ERROR_CLEANUP.
# Just "abuild clean undeps" once you're completely done.
#
-# Build requirements:
-# * RAM:
-# 8 GB with Hulu in Chromium in the background is enough.
+# Even with JOBS=4 you're gonna want at least 8 GB of RAM.
#
# * Disk space:
-# * Dependencies: 1131 MiB
-# * Downloads: 398 MiB
-# * Subtotal: 1529 MiB = 1.5 GiB
-# * Complete src: 33970 MiB
-# * Complete pkg: 9637 MiB
-# * All APKs: 2362 MiB = 2.3 GiB
-# * Subtotal: 45969 MiB = 44.9 GiB
-# * Grand total: 47498 MiB = 46.4 GiB
+# * Dependencies: 1557 MiB = 1.5 GiB
+# * Downloads: 515 MiB
+# * Subtotal: 2072 MiB = 2.0 GiB
+# * Complete src: 34134 MiB
+# * Complete pkg: 9399 MiB
+# * All APKs: 2282 MiB = 2.2 GiB
+# * Subtotal: 45815 MiB = 44.7 GiB
+# * Grand total: 47887 MiB = 46.8 GiB
#
# Build stats:
# * Run "abuild deps fetch" first.
@@ -29,7 +27,7 @@
# abuild -r 29590.16s user 1077.69s system 340% cpu 2:30:13.12 total
pkgname=libreoffice
-pkgver=6.2.1.2
+pkgver=6.4.0.3
pkgrel=0
case "$pkgver" in
*.*.*.*) _ver="${pkgver%.*}";;
@@ -46,30 +44,38 @@ arch="all"
options=""
license="MPL-2.0 AND Apache-2.0 AND MIT AND X11 AND (MPL-1.1 OR GPL-2.0+ OR LGPL-2.1+) AND GPL-2.0+ AND GPL-3.0 AND GPL-3.0+ AND LGPL-2.1 AND LGPL-3.0+ AND BSD-3-Clause AND SISSL AND IJG AND CC-BY-SA-3.0"
-depends="$pkgname-base $pkgname-calc $pkgname-common $pkgname-draw
- $pkgname-impress $pkgname-math $pkgname-connector-postgres $pkgname-writer"
+depends="$pkgname-base=$pkgver-r$pkgrel
+ $pkgname-calc=$pkgver-r$pkgrel
+ $pkgname-common=$pkgver-r$pkgrel
+ $pkgname-draw=$pkgver-r$pkgrel
+ $pkgname-impress=$pkgver-r$pkgrel
+ $pkgname-math=$pkgver-r$pkgrel
+ $pkgname-connector-postgres=$pkgver-r$pkgrel
+ $pkgname-writer=$pkgver-r$pkgrel
+ "
# 1. Base dependencies
# 2. GUIs - gen
# 3. GUIs - gtk+2.0
# 4. File formats
-makedepends="apr-dev bash bison boost-dev cairo-dev clucene-dev cmd:which
- coreutils cppunit-dev cups-dev dbus-glib-dev findutils flex fontconfig-dev
- fontforge-dev freetype-dev glm gperf gpgme-dev gst-plugins-base-dev
- gstreamer-dev harfbuzz-dev hunspell-dev hyphen-dev icu icu-dev lcms2-dev
- libcmis-dev libexttextcat-dev libjpeg-turbo-dev libnumbertext-dev libpng-dev
- libxml2-utils libxslt-dev mdds>=1.4.1 mythes-dev neon-dev nss-dev
- openldap-dev openssl-dev paxmark perl poppler-dev postgresql-dev python3-dev
- py3-lxml redland-dev sane-dev sed ucpp unixodbc-dev util-linux xmlsec-dev zip
+makedepends="apr-dev autoconf automake bash bison boost-dev cairo-dev
+ clucene-dev cmd:which coreutils cppunit-dev cups-dev dbus-glib-dev findutils
+ flex fontconfig-dev fontforge-dev freetype-dev glm gperf gpgme-dev
+ gst-plugins-base-dev gstreamer-dev harfbuzz-dev hunspell-dev hyphen-dev icu
+ icu-dev lcms2-dev libcmis-dev libexttextcat-dev libjpeg-turbo-dev
+ libnumbertext-dev libpng-dev libqrcodegen libxml2-utils libxslt-dev mdds~1.5
+ mythes-dev neon-dev nss-dev openldap-dev openssl-dev perl poppler-dev
+ postgresql-dev python3-dev py3-lxml redland-dev sane-dev sed ucpp
+ unixodbc-dev util-linux xmlsec-dev zip
libepoxy-dev libxinerama-dev libxrandr-dev libxrender-dev libxext-dev
- gtk+2.0-dev gdk-pixbuf-dev glib-dev
+ gtk+3.0-dev glib-dev mesa-dev
libabw-dev libcdr-dev libe-book-dev libepubgen-dev libetonyek-dev
- libfreehand-dev libmspub-dev libmwaw-dev libodfgen-dev liborcus-dev>=0.14
+ libfreehand-dev libmspub-dev libmwaw-dev libodfgen-dev liborcus-dev~0.15
libpagemaker-dev libqxp-dev libstaroffice-dev libvisio-dev libwpd-dev
libwpg-dev libwps-dev libzmf-dev
-"
+ "
# -common also depends on these fonts
_fonts="ttf-liberation ttf-dejavu ttf-carlito"
@@ -79,7 +85,7 @@ checkdepends="$_fonts"
# -doc comes first since it redirects manpages from the other subpackages
# -lang-* comes before -common since it redirects miscellaneous
# language-specific files from -common
-subpackages="$pkgname-doc $pkgname-base $pkgname-gtk2
+subpackages="$pkgname-doc $pkgname-base $pkgname-gtk3
$pkgname-calc $pkgname-draw $pkgname-impress $pkgname-math
$pkgname-connector-postgres $pkgname-writer"
source="https://download.documentfoundation.org/$pkgname/src/$_ver/$pkgname-$pkgver.tar.xz
@@ -88,14 +94,13 @@ source="https://download.documentfoundation.org/$pkgname/src/$_ver/$pkgname-$pkg
https://download.documentfoundation.org/$pkgname/src/$_ver/$pkgname-help-$pkgver.tar.xz
linux-musl.patch
fix-execinfo.patch
- fix-includes.patch
gettext-tiny.patch
disable-crc-test.patch
disable-outdated-font-test.patch
disable-mariadbc.patch
- disable-mysqlc.patch
- boost.patch
-"
+ mso-lockfile-utf16le.patch
+ poppler-0.83.patch
+ "
ldpath="/usr/lib/$pkgname/program"
_languages="af:Afrikaans:MPL-2.0 AND Public-Domain AND LGPL-3.0 AND LGPL-2.1+ AND Apache-2.0
@@ -188,8 +193,6 @@ _languages="af:Afrikaans:MPL-2.0 AND Public-Domain AND LGPL-3.0 AND LGPL-2.1+ AN
sk:Slovak:MPL-2.0 AND (GPL-2.0 OR LGPL-2.1 OR MPL-1.1) AND LPPL-1.3c AND MIT AND Apache-2.0
sl:Slovenian:MPL-2.0 AND (GPL-2.0 OR LGPL-2.1) AND LGPL-2.1 AND Apache-2.0
sq:Albanian:MPL-2.0 AND Apache-2.0
- sr:Serbian:MPL-2.0 AND (LGPL-2.1+ OR MPL-1.1+ OR GPL-2.0+ OR CC-BY-SA-3.0) AND LGPL-2.1+ AND Apache-2.0
- sr_latn:Serbian (Latin):MPL-2.0 AND Apache-2.0
ss:Swati:MPL-2.0 AND Apache-2.0
st:Southern Sotho:MPL-2.0 AND Apache-2.0
sv:Swedish:MPL-2.0 AND LGPL-3.0 AND Custom AND Apache-2.0
@@ -211,7 +214,7 @@ _languages="af:Afrikaans:MPL-2.0 AND Public-Domain AND LGPL-3.0 AND LGPL-2.1+ AN
zh_cn:Simplified Chinese (People's Republic of China):MPL-2.0 AND Apache-2.0
zh_tw:Traditional Chinese (Taiwan):MPL-2.0 AND Apache-2.0
zu:Zulu:MPL-2.0 AND LGPL-2.1 AND Apache-2.0
-"
+ "
_lo_lang() {
local lang="$1"
case "$lang" in
@@ -237,6 +240,16 @@ for _lang in $(printf '%s' "$_languages" | cut -d : -f 1); do
done
subpackages="$subpackages $pkgname-common"
+# secfixes:
+# 6.4.0.3-r0:
+# - CVE-2019-9848
+# - CVE-2019-9849
+# - CVE-2019-9850
+# - CVE-2019-9851
+# - CVE-2019-9852
+# - CVE-2019-9853
+# - CVE-2019-9854
+
prepare() {
default_prepare
NOCONFIGURE=1 ./autogen.sh
@@ -276,8 +289,7 @@ build() {
--disable-firebird-sdbc \
--disable-coinmp \
--disable-lpsolve \
- --disable-gtk3 \
- --enable-gtk \
+ --enable-gtk3 \
--disable-qt5 \
--disable-odk \
--disable-avahi \
@@ -400,14 +412,10 @@ _split_lang() {
common() {
pkgdesc="LibreOffice - common files"
- depends="$pkgname-lang-en_us $_fonts"
+ depends="$pkgname-lang-en_us=$pkgver-r$pkgrel $_fonts !$pkgname-gtk2"
_split common
- paxmark -m \
- "$subpkgdir"/usr/lib/libreoffice/program/soffice.bin \
- "$subpkgdir"/usr/lib/libreoffice/program/unopkg.bin
-
mkdir -p "$subpkgdir/usr/share/appdata"
mv "$pkgdir"/usr/share/appdata/*.xml "$subpkgdir/usr/share/appdata"
@@ -424,65 +432,64 @@ common() {
fi
}
-gtk2() {
- pkgdesc="LibreOffice - GTK+2.0 GUI"
- depends="libreoffice-common"
- install_if="$pkgname-common=$pkgver-r$pkgrel gtk+2.0"
+gtk3() {
+ pkgdesc="LibreOffice - GTK+3.0 GUI"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
+ install_if="$pkgname-common=$pkgver-r$pkgrel gtk+3.0"
_split gnome
}
base() {
pkgdesc="LibreOffice - database frontend"
- depends="libreoffice-common"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
_split base
}
calc() {
pkgdesc="LibreOffice - spreadsheet editor"
- depends="libreoffice-common"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
_split calc
}
draw() {
pkgdesc="LibreOffice - drawing application"
- depends="libreoffice-common"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
_split draw
}
impress() {
pkgdesc="LibreOffice - presentation application"
- depends="libreoffice-common"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
_split impress
}
math() {
pkgdesc="LibreOffice - equation editor"
- depends="libreoffice-common"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
_split math
}
postgres() {
pkgdesc="LibreOffice - connector for PostgreSQL database"
- depends="libreoffice-base"
+ depends="libreoffice-base=$pkgver-r$pkgrel"
_split postgresql
}
writer() {
pkgdesc="LibreOffice - word processor"
- depends="libreoffice-common"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
_split writer
}
-sha512sums="0d18e5f470b3e8a70d1679c7acdc91887cbbbb2032e1eb452308d257a6bc02d42e93fec66709c84838f7565e42217ac1d2b121e3356f7c754fc7ee33b7c6f0ef libreoffice-6.2.1.2.tar.xz
-e9acd76b783a7a0b3344f267a8105ede52b2da92d6c1ae2b54237ffc30d4f87a8e126bb597ab3c4d993bb1e89f1b5d16921ea3d83419c1b5b69cb83aae007bd3 libreoffice-dictionaries-6.2.1.2.tar.xz
-4dafc81179fbb8a0b10c774ec072d0abdcdfebbcd5eb8341802bd7d515bd0ea5fb117729ae66b5666da5927a567b54a23c870bcd16ba64478016a4ab84f7f3a5 libreoffice-translations-6.2.1.2.tar.xz
-c8bd2765b46162203d0b0acc06dc76108bd0093020981e1030d26d5a8771fb9494337c16cc99c10b7de7a906e713dd27555b0af8754d142387c3a968fa663a2f libreoffice-help-6.2.1.2.tar.xz
-600e4eb772b1e24e06b906682fc4d4114d62ede3adcde3639482edafef56e970ac09925fcd910dccee8a14f5ca049ac3de3f279ebcc2be3a611e3883f3a7efb8 linux-musl.patch
+sha512sums="1ea4b5865b7ad7d7400a775e153b00aa01d188844b580b26adb0d513db5f29a880cac145a746f139d236fff8fb5e8ed316943551de2e2eea218ab96bf177ca42 libreoffice-6.4.0.3.tar.xz
+6e6bd33c86b6fe0744b9db70982aca8032011ceda55db30a8214b822dd77ad4760518f58aa42fed10996081ce91bf791fc332a8273664d5dd2141cc88eaaba97 libreoffice-dictionaries-6.4.0.3.tar.xz
+168800ec5526f69febf6f37df4d04c0c42d26595587339721141c40c9812d9398bef7618732244759d65b4ccf46072b65536504c37c95f73e1ab91e6582ee75d libreoffice-translations-6.4.0.3.tar.xz
+f3f0b5e9f09e55c49a74439e4355dfebc3fe0b6ec809eee44d58fa8493454828ea6af9aab6f336c74394aab0a71fa7d0aa3485d4f662f9917bfb798ad3164e13 libreoffice-help-6.4.0.3.tar.xz
+91e3659232a6427234d483289892e1c66673ad2abef792cec9bf905f35797893faba59f10d775cdd0bad23d2be7b77578747dfa707d55bef62a2fbdc95ba3d2c linux-musl.patch
ed18d6bc6e03369e17b50e6b969ac0804984c1416fdfe7120251d11c59a791bb0fc8956f848ee8697fce3c074f2943b03d4441aa531ff9504be2f497a8e7e412 fix-execinfo.patch
-a1d704c78e3decb83eb45b0f180e7b352d58b4005a7e43dd8fddcb4829c932da4f0dd3d4dfeaa2313c1520273e9e1c64979a0ecbe5d72737926c54d5658bd2ff fix-includes.patch
bac06a1f0f6ef3e5860ec340470583b2a7ff079efa9efee9119ae1ac320b97ecbfdb7eba63975d4f7a4e2476d3b01a9508a53a84b49df0a8febe12e17b685529 gettext-tiny.patch
-6a039ba592a23b8db1dd5c8d5dffbc9562270de691d2eb1e1c420f8632532c0fce14a0f3844dc2e6f6b6b04655c40230bd69fd81d1ae6f0bd16f0e88ce0a2783 disable-crc-test.patch
+ebfc1276a14354bb6b7274bd7850b7fe2b1653c379b1e04023c9fce65eaace4214b2e79d302a075b848297f454b3d340cf5e7db3565a69a2dfaecd4c98d6e669 disable-crc-test.patch
4ffc389a3c545d37d152bb52390c3abd06a32eb9fee03110c07e8b57f9b9d1be68fdc5092ad0be76f6540367a1f1d2e9e32d519021d8205847594edb811da428 disable-outdated-font-test.patch
-c1925fe5833410c6a4b47a1723e67ce3898fc01ebded766023855cd93f290a6788638a86a8595e112ab788628c0ea7642c41d7ff987ba9117c2e079a99a3b29f disable-mariadbc.patch
-01ef207d0b3ab1ded5edadd2d05cefe65d7c2dc4285abee12d7fbb61c92b2a3e37d5cfe5bb8f5ea9a40fd2918396ec25b473a916012e04732ebbe79ee6768a21 disable-mysqlc.patch
-431f55b4ec96caa94b0f55d3691931ad65320ecacbd8f9c9f477107136866ba614683eb77458006960240918392e995a567f5b5436d75003ac036f6d24a77e0a boost.patch"
+a4b63e741cd0aa295440a79142f221f2526ae7ba4f2fd28f37366871970c539332de70d89dfe8682d917aa70131b7c3a703e592e88085b58d024659105f8066a disable-mariadbc.patch
+52f2e36b77fd952293d5bcd75d58aaee52faa846764d39c9f066778dfb7c7dcd3a6ab7ff6aeb8bd4a5671cec450888638f7c628c0302c7603e07b582c84ca556 mso-lockfile-utf16le.patch
+38b09913075219e6d9bc34e94f995653941909118e96f89f7cf45798682758c541ff182b6643e45c7f20dfbb1c4c03e51ea4d8cdd15a997718f297c3c78245b5 poppler-0.83.patch"
diff --git a/user/libreoffice/boost.patch b/user/libreoffice/boost.patch
deleted file mode 100644
index cd8ef9dba..000000000
--- a/user/libreoffice/boost.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-After https://github.com/boostorg/logic/commit/23cd89d4c80f build fails:
-
-sfx2/source/appl/shutdownicon.cxx:170:12: error: no viable conversion from returned value of type 'boost::logic::tribool' to function return type 'bool'
- return loaded;
- ^~~~~~
-
---- lo/sfx2/source/appl/shutdownicon.cxx.orig 2018-06-19 22:27:30 UTC
-+++ lo/sfx2/source/appl/shutdownicon.cxx
-@@ -167,7 +167,7 @@ bool LoadModule()
- #endif // ENABLE_QUICKSTART_APPLET
- }
- assert(!boost::logic::indeterminate(loaded));
-- return loaded;
-+ return bool{loaded};
- }
-
- }
diff --git a/user/libreoffice/disable-crc-test.patch b/user/libreoffice/disable-crc-test.patch
index d2b9ab551..474408514 100644
--- a/user/libreoffice/disable-crc-test.patch
+++ b/user/libreoffice/disable-crc-test.patch
@@ -1,39 +1,62 @@
---- libreoffice-6.2.1.2/vcl/qa/cppunit/svm/svmtest.cxx 2018-09-10 16:08:33.000000000 -0400
-+++ libreoffice-6.2.1.2/vcl/qa/cppunit/svm/svmtest.cxx 2018-09-18 15:25:41.030304773 -0400
-@@ -760,14 +760,13 @@ void SvmTest::checkBitmaps(const GDIMeta
- xmlDocPtr pDoc = dumpMeta(rMetaFile);
+--- libreoffice-6.3.1.2/vcl/qa/cppunit/svm/svmtest.cxx 2019-08-29 16:51:57.000000000 -0500
++++ libreoffice-6.3.1.2/vcl/qa/cppunit/svm/svmtest.cxx 2019-09-12 20:46:12.114022513 -0500
+@@ -896,14 +896,13 @@ void SvmTest::checkBitmaps(const GDIMeta
+ }
+ #endif
- #ifdef LINUX
-- assertXPathAttrs(pDoc, "/metafile/bmp[1]", {{"x", "1"}, {"y", "2"}, {"crc", "b8dee5da"}});
-+ assertXPathAttrs(pDoc, "/metafile/bmp[1]", {{"x", "1"}, {"y", "2"},});
+- assertXPathAttrs(pDoc, "/metafile/bmp[1]", {{"x", "1"}, {"y", "2"}, {"crc", crc1}});
++ assertXPathAttrs(pDoc, "/metafile/bmp[1]", {{"x", "1"}, {"y", "2"}});
assertXPathAttrs(pDoc, "/metafile/bmpscale[1]", {
-- {"x", "1"}, {"y", "2"}, {"width", "3"}, {"height", "4"}, {"crc", "281fc589"}
-+ {"x", "1"}, {"y", "2"}, {"width", "3"}, {"height", "4"},
+- {"x", "1"}, {"y", "2"}, {"width", "3"}, {"height", "4"}, {"crc", crc2}
++ {"x", "1"}, {"y", "2"}, {"width", "3"}, {"height", "4"}
});
assertXPathAttrs(pDoc, "/metafile/bmpscalepart[1]", {
{"destx", "1"}, {"desty", "2"}, {"destwidth", "3"}, {"destheight", "4"},
- {"srcx", "2"}, {"srcy", "1"}, {"srcwidth", "4"}, {"srcheight", "3"},
-- {"crc", "5e01ddcc"}
+- {"srcx", "2"}, {"srcy", "1"}, {"srcwidth", "4"}, {"srcheight", "3"},
+- {"crc", crc3}
++ {"srcx", "2"}, {"srcy", "1"}, {"srcwidth", "4"}, {"srcheight", "3"}
});
- #else
- assertXPathAttrs(pDoc, "/metafile/bmp[1]", {{"x", "1"}, {"y", "2"}, {"crc", "b8dee5da"}});
-@@ -816,16 +815,16 @@ void SvmTest::checkBitmapExs(const GDIMe
+ }
+
+@@ -973,33 +972,33 @@ void SvmTest::checkBitmapExs(const GDIMe
+ }
- #ifdef LINUX
assertXPathAttrs(pDoc, "/metafile/bmpex[1]", {
-- {"x", "1"}, {"y", "2"}, {"crc", "b8dee5da"}, {"transparenttype", "bitmap"}
-+ {"x", "1"}, {"y", "2"}, {"transparenttype", "bitmap"}
+- {"x", "1"}, {"y", "1"}, {"crc", aExpectedCRC[0]}, {"transparenttype", "bitmap"}
++ {"x", "1"}, {"y", "1"}, {"transparenttype", "bitmap"}
});
assertXPathAttrs(pDoc, "/metafile/bmpexscale[1]", {
- {"x", "1"}, {"y", "2"}, {"width", "3"}, {"height", "4"},
-- {"crc", "281fc589"}, {"transparenttype", "bitmap"}
+ {"x", "5"}, {"y", "0"}, {"width", "2"}, {"height", "3"},
+- {"crc", aExpectedCRC[1]}, {"transparenttype", "bitmap"}
+ {"transparenttype", "bitmap"}
});
assertXPathAttrs(pDoc, "/metafile/bmpexscalepart[1]", {
- {"destx", "1"}, {"desty", "2"}, {"destwidth", "3"}, {"destheight", "4"},
- {"srcx", "2"}, {"srcy", "1"}, {"srcwidth", "4"}, {"srcheight", "3"},
-- {"crc", "5e01ddcc"}, {"transparenttype", "bitmap"}
+ {"destx", "7"}, {"desty", "1"}, {"destwidth", "2"}, {"destheight", "2"},
+ {"srcx", "0"}, {"srcy", "0"}, {"srcwidth", "3"}, {"srcheight", "4"},
+- {"crc", aExpectedCRC[2]}, {"transparenttype", "bitmap"}
+ {"transparenttype", "bitmap"}
});
- #else
- assertXPathAttrs(pDoc, "/metafile/bmpex[1]", {
+
+ #ifndef MACOSX
+ assertXPathAttrs(pDoc, "/metafile/bmpex[2]", {
+- {"x", "6"}, {"y", "6"}, {"crc", aExpectedCRC[3]}, {"transparenttype", "bitmap"}
++ {"x", "6"}, {"y", "6"}, {"transparenttype", "bitmap"}
+ });
+ assertXPathAttrs(pDoc, "/metafile/bmpex[3]", {
+- {"x", "0"}, {"y", "6"}, {"crc", aExpectedCRC[4]}, {"transparenttype", "bitmap"}
++ {"x", "0"}, {"y", "6"}, {"transparenttype", "bitmap"}
+ });
+ assertXPathAttrs(pDoc, "/metafile/bmpex[4]", {
+- {"x", "2"}, {"y", "6"}, {"crc", aExpectedCRC[5]}, {"transparenttype", "bitmap"}
++ {"x", "2"}, {"y", "6"}, {"transparenttype", "bitmap"}
+ });
+ assertXPathAttrs(pDoc, "/metafile/bmpex[5]", {
+- {"x", "0"}, {"y", "8"}, {"crc", aExpectedCRC[6]}, {"transparenttype", "bitmap"}
++ {"x", "0"}, {"y", "8"}, {"transparenttype", "bitmap"}
+ });
+ assertXPathAttrs(pDoc, "/metafile/bmpex[6]", {
+- {"x", "2"}, {"y", "8"}, {"crc", aExpectedCRC[7]}, {"transparenttype", "bitmap"}
++ {"x", "2"}, {"y", "8"}, {"transparenttype", "bitmap"}
+ });
+ #endif
+ }
diff --git a/user/libreoffice/disable-mariadbc.patch b/user/libreoffice/disable-mariadbc.patch
index ada1d1e7a..f63692775 100644
--- a/user/libreoffice/disable-mariadbc.patch
+++ b/user/libreoffice/disable-mariadbc.patch
@@ -1,13 +1,13 @@
We don't have MariaDB yet and there is no ./configure option for it
---- libreoffice-6.2.1.2/configure.ac
-+++ libreoffice-6.2.1.2/configure.ac
-@@ -8471,7 +8471,7 @@ AC_SUBST(PYTHON_VERSION)
+--- libreoffice-6.2.3.2/configure.ac
++++ libreoffice-6.2.3.2/configure.ac
+@@ -8471,7 +8471,7 @@
AC_SUBST(PYTHON_VERSION_MAJOR)
AC_SUBST(PYTHON_VERSION_MINOR)
-ENABLE_MARIADBC=TRUE
+ENABLE_MARIADBC=
- if test "$_os" = "Android" -o "$_os" = "iOS"; then
+ if test "$_os" = "Android" -o "$_os" = "iOS" -o "$enable_mpl_subset" = "yes"; then
ENABLE_MARIADBC=
fi
diff --git a/user/libreoffice/disable-mysqlc.patch b/user/libreoffice/disable-mysqlc.patch
deleted file mode 100644
index adcdd4275..000000000
--- a/user/libreoffice/disable-mysqlc.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From edf9184e33e58e8d0064354016ac56a2f0d9054b Mon Sep 17 00:00:00 2001
-From: Tor Lillqvist <tml@collabora.com>
-Date: Tue, 05 Mar 2019 17:28:55 +0200
-Subject: [PATCH] Make mysqlc conditional on MARIADBC, too
-
-Change-Id: I7e8541b8918ea5011fe9669d11b51c941544f794
-Reviewed-on: https://gerrit.libreoffice.org/68764
-Tested-by: Jenkins
-Reviewed-by: Tor Lillqvist <tml@collabora.com>
-Reviewed-on: https://gerrit.libreoffice.org/68783
-Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
----
-
-diff --git a/Repository.mk b/Repository.mk
-index 36b35b7..f4899a1 100644
---- a/Repository.mk
-+++ b/Repository.mk
-@@ -404,7 +404,7 @@
- $(call gb_Helper_optional,SCRIPTING,msforms) \
- mtfrenderer \
- $(if $(ENABLE_JAVA),mysql_jdbc) \
-- $(call gb_Helper_optional,DBCONNECTIVITY,mysqlc) \
-+ $(call gb_Helper_optional,MARIADBC,$(call gb_Helper_optional,DBCONNECTIVITY,mysqlc)) \
- numbertext \
- odbc \
- odfflatxml \
diff --git a/user/libreoffice/fix-includes.patch b/user/libreoffice/fix-includes.patch
deleted file mode 100644
index a4adcd352..000000000
--- a/user/libreoffice/fix-includes.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libreoffice-6.2.1.2/sd/source/ui/remotecontrol/BluetoothServer.cxx
-+++ libreoffice-6.2.1.2/sd/source/ui/remotecontrol/BluetoothServer.cxx
-@@ -21,7 +21,7 @@
- #include <dbus/dbus.h>
- #include <errno.h>
- #include <fcntl.h>
-- #include <sys/unistd.h>
-+ #include <unistd.h>
- #include <sys/socket.h>
- #include <bluetooth/bluetooth.h>
- #include <bluetooth/rfcomm.h>
diff --git a/user/libreoffice/linux-musl.patch b/user/libreoffice/linux-musl.patch
index 3bd6ccdde..2641620cb 100644
--- a/user/libreoffice/linux-musl.patch
+++ b/user/libreoffice/linux-musl.patch
@@ -1,24 +1,15 @@
---- libreoffice-6.2.1.2/configure.ac
-+++ libreoffice-6.2.1.2/configure.ac
-@@ -462,7 +462,7 @@ if test -n "$with_android_ndk"; then
- # (A 64-bit ld.gold grows to much over 10 gigabytes of virtual space when linking such a .so if
- # all objects have been built with debug information.)
- case $build_os in
-- linux-gnu*)
-+ linux-gnu*|linux-musl*)
- ndk_build_os=linux
- ;;
- darwin*)
-@@ -592,7 +592,7 @@ solaris*)
+--- libreoffice-6.4.0.3/configure.ac 2020-01-22 23:14:16.000000000 +0000
++++ libreoffice-6.4.0.3/configure.ac 2020-02-04 04:09:34.970114523 +0000
+@@ -612,7 +612,7 @@ solaris*)
fi
;;
-linux-gnu*|k*bsd*-gnu*)
+linux-gnu*|linux-musl*|k*bsd*-gnu*)
- test_gtk=yes
build_gstreamer_1_0=yes
- build_gstreamer_0_10=yes
-@@ -4149,7 +4149,7 @@ kfreebsd*)
+ test_kf5=yes
+ test_gtk3_kde5=yes
+@@ -4341,7 +4341,7 @@ kfreebsd*)
esac
;;
@@ -27,16 +18,7 @@
COM=GCC
USING_X11=TRUE
OS=LINUX
-@@ -7277,7 +7277,7 @@ if test -n "$ENABLE_JAVA" -a -z "$JAVAIN
- test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread"
- ;;
-
-- linux-gnu*)
-+ linux-gnu*|linux-musl*)
- JAVAINC="-I$JAVA_HOME/include"
- JAVAINC="$JAVAINC -I$JAVA_HOME/include/linux"
- test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread"
-@@ -9854,21 +9854,6 @@ AC_SUBST(SYSTEM_LIBNUMBERTEXT_DATA)
+@@ -10232,21 +10232,6 @@ AC_SUBST(SYSTEM_LIBNUMBERTEXT_DATA)
AC_SUBST(ENABLE_LIBNUMBERTEXT)
AC_SUBST(LIBNUMBERTEXT_CFLAGS)
@@ -58,12 +40,3 @@
dnl =========================================
dnl Check for uuidgen
dnl =========================================
-@@ -12828,7 +12813,7 @@ else
-
- case "$host_os" in
-
-- aix*|dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*)
-+ aix*|dragonfly*|freebsd*|linux-gnu*|linux-musl*|*netbsd*|openbsd*)
- if test "$ENABLE_JAVA" != ""; then
- pathmunge "$JAVA_HOME/bin" "after"
- fi
diff --git a/user/libreoffice/mso-lockfile-utf16le.patch b/user/libreoffice/mso-lockfile-utf16le.patch
new file mode 100644
index 000000000..e71413e0a
--- /dev/null
+++ b/user/libreoffice/mso-lockfile-utf16le.patch
@@ -0,0 +1,33 @@
+--- libreoffice-6.3.1.2/svl/source/misc/msodocumentlockfile.cxx 2019-08-29 16:51:57.000000000 -0500
++++ libreoffice-6.3.1.2/svl/source/misc/msodocumentlockfile.cxx 2019-09-15 04:19:32.593900468 -0500
+@@ -12,6 +12,7 @@
+ #include <algorithm>
+ #include <ucbhelper/content.hxx>
+ #include <comphelper/processfactory.hxx>
++#include <oox/helper/helper.hxx>
+
+ #include <com/sun/star/io/IOException.hpp>
+ #include <com/sun/star/io/XOutputStream.hpp>
+@@ -220,7 +221,7 @@ LockFileEntry MSODocumentLockFile::GetLo
+ const int nACPLen = aBuf[0];
+ if (nACPLen > 0 && nACPLen <= 52) // skip wrong format
+ {
+- const sal_Int8* pBuf = aBuf.getConstArray() + 54;
++ sal_Int8* pBuf = aBuf.getArray() + 54;
+ int nUTF16Len = *pBuf; // try Word position
+ // If UTF-16 length is 0x20, then ACP length is also less than maximal, which means
+ // that in Word lockfile case, at least two preceding bytes would be zero. Both
+@@ -228,9 +229,12 @@ LockFileEntry MSODocumentLockFile::GetLo
+ if (nUTF16Len == 0x20 && (*(pBuf - 1) != 0 || *(pBuf - 2) != 0))
+ nUTF16Len = *++pBuf; // use Excel/PowerPoint position
+
+- if (nUTF16Len > 0 && nUTF16Len <= 52) // skip wrong format
++ if (nUTF16Len > 0 && nUTF16Len <= 52) { // skip wrong format
++ oox::ByteOrderConverter::convertLittleEndianArray(
++ reinterpret_cast<sal_Unicode*>(pBuf + 2), nUTF16Len);
+ aResult[LockFileComponent::OOOUSERNAME]
+ = OUString(reinterpret_cast<const sal_Unicode*>(pBuf + 2), nUTF16Len);
++ }
+ }
+ }
+ return aResult;
diff --git a/user/libreoffice/poppler-0.83.patch b/user/libreoffice/poppler-0.83.patch
new file mode 100644
index 000000000..57cf13c52
--- /dev/null
+++ b/user/libreoffice/poppler-0.83.patch
@@ -0,0 +1,70 @@
+From 9065cd8d9a19864f6b618f2dc10daf577badd9ee Mon Sep 17 00:00:00 2001
+From: Martin Milata <martin@martinmilata.cz>
+Date: Wed, 4 Dec 2019 02:37:40 +0100
+Subject: [PATCH] Fix build with poppler-0.83
+
+Change-Id: I7a3684932b8f9c403a3368b42fa4d8039c67f1a9
+Reviewed-on: https://gerrit.libreoffice.org/84384
+Tested-by: Jenkins
+Reviewed-by: Michael Stahl <michael.stahl@cib.de>
+---
+ sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 7 +++++++
+ sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx | 4 ++++
+ sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx | 4 ++++
+ 3 files changed, 15 insertions(+)
+
+diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+index 26048177e87d..e9c2a407c279 100644
+--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+@@ -491,11 +491,18 @@ void PDFOutDev::writeFontFile( GfxFont* gfxFont ) const
+ gfree(pBuf);
+ }
+
++#if POPPLER_CHECK_VERSION(0, 83, 0)
++void PDFOutDev::printPath( const GfxPath* pPath )
++#else
+ void PDFOutDev::printPath( GfxPath* pPath )
++#endif
+ {
+ int nSubPaths = pPath ? pPath->getNumSubpaths() : 0;
+ for( int i=0; i<nSubPaths; i++ )
+ {
++#if POPPLER_CHECK_VERSION(0, 83, 0)
++ const
++#endif
+ GfxSubpath* pSub = pPath->getSubpath( i );
+ const int nPoints = pSub->getNumPoints();
+
+diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+index 02f6b59f6f15..2e7d2186f9a1 100644
+--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+@@ -149,7 +149,11 @@ namespace pdfi
+
+ int parseFont( long long nNewId, GfxFont* pFont, GfxState* state ) const;
+ void writeFontFile( GfxFont* gfxFont ) const;
++#if POPPLER_CHECK_VERSION(0, 83, 0)
++ static void printPath( const GfxPath* pPath );
++#else
+ static void printPath( GfxPath* pPath );
++#endif
+
+ public:
+ explicit PDFOutDev( PDFDoc* pDoc );
+diff --git a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
+index 42178b650cdd..b1a54bd09c5f 100644
+--- a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
++++ b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
+@@ -68,7 +68,11 @@ int main(int argc, char **argv)
+ }
+
+ // read config file
++#if POPPLER_CHECK_VERSION(0, 83, 0)
++ globalParams = std::make_unique<GlobalParams>();
++#else
+ globalParams = new GlobalParams();
++#endif
+ globalParams->setErrQuiet(true);
+ #if defined(_MSC_VER)
+ globalParams->setupBaseFonts(nullptr);