summaryrefslogtreecommitdiff
path: root/legacy/libreoffice
diff options
context:
space:
mode:
authorZach van Rijn <me@zv.io>2022-11-25 19:29:48 -0600
committerZach van Rijn <me@zv.io>2022-11-25 20:02:32 -0600
commitd7e5a71711acc59d51324fd29340e00b720ba625 (patch)
treec820d9dcf99598f59fc86e07182de201fb704ab6 /legacy/libreoffice
parentb5aeea18b753bd91d3967a23d3e65478733da3cc (diff)
downloadpackages-d7e5a71711acc59d51324fd29340e00b720ba625.tar.gz
packages-d7e5a71711acc59d51324fd29340e00b720ba625.tar.bz2
packages-d7e5a71711acc59d51324fd29340e00b720ba625.tar.xz
packages-d7e5a71711acc59d51324fd29340e00b720ba625.zip
user/libreoffice: Move to legacy/
We have decided to not ship LO for RC3 in its current form; bumping it to the latest version will require significant effort to bump Skia, which will be done post-RC3.
Diffstat (limited to 'legacy/libreoffice')
-rw-r--r--legacy/libreoffice/APKBUILD495
-rw-r--r--legacy/libreoffice/disable-crc-test.patch62
-rw-r--r--legacy/libreoffice/disable-mariadbc.patch13
-rw-r--r--legacy/libreoffice/disable-outdated-font-test.patch16
-rw-r--r--legacy/libreoffice/fix-execinfo.patch33
-rw-r--r--legacy/libreoffice/gettext-tiny.patch38
-rw-r--r--legacy/libreoffice/linux-musl.patch42
-rw-r--r--legacy/libreoffice/mso-lockfile-utf16le.patch33
-rw-r--r--legacy/libreoffice/poppler-0.83.patch70
9 files changed, 802 insertions, 0 deletions
diff --git a/legacy/libreoffice/APKBUILD b/legacy/libreoffice/APKBUILD
new file mode 100644
index 000000000..29ec4c2d3
--- /dev/null
+++ b/legacy/libreoffice/APKBUILD
@@ -0,0 +1,495 @@
+# Contributor: Jens Staal <staal1978@gmail.com>
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Max Rees <maxcrees@me.com>
+
+# You probably don't want "srcdir", "pkgdir", or "deps" in CLEANUP,
+# and you definitely don't want "deps" in ERROR_CLEANUP.
+# Just "abuild clean undeps" once you're completely done.
+#
+# Even with JOBS=4 you're gonna want at least 8 GB of RAM.
+#
+# * Disk space:
+# * 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.
+# * time abuild -r
+#
+# * x86_64 Intel i7-4810MQ (4 core 2.8 GHz, turbo to 3.8 GHz, no HT)
+# JOBS=4, 8 GB RAM
+# abuild -r 29590.16s user 1077.69s system 340% cpu 2:30:13.12 total
+
+pkgname=libreoffice
+pkgver=6.4.0.3
+pkgrel=0
+case "$pkgver" in
+*.*.*.*) _ver="${pkgver%.*}";;
+*.*.*) _ver="$pkgver";;
+esac
+pkgdesc="LibreOffice - Meta package for the full office suite"
+url="https://www.libreoffice.org/"
+# While the metapackage technically is empty and should be "noarch", there's
+# no easy way to change this to noarch and then change all of the subpackages
+# to have the correct arch. Setting $arch in a split function is forbidden,
+# and $subpackages doesn't really support setting $arch to anything other than
+# noarch.
+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=$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 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+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.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"
+checkdepends="$_fonts"
+
+# The order here is important.
+# -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-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
+ https://download.documentfoundation.org/$pkgname/src/$_ver/$pkgname-dictionaries-$pkgver.tar.xz
+ https://download.documentfoundation.org/$pkgname/src/$_ver/$pkgname-translations-$pkgver.tar.xz
+ https://download.documentfoundation.org/$pkgname/src/$_ver/$pkgname-help-$pkgver.tar.xz
+ linux-musl.patch
+ fix-execinfo.patch
+ gettext-tiny.patch
+ disable-crc-test.patch
+ disable-outdated-font-test.patch
+ disable-mariadbc.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
+ am:Amharic:MPL-2.0 AND Apache-2.0
+ an:Aragonese:MPL-1.1 OR GPL-3.0+ OR LGPL-3.0+
+ ar:Arabic:MPL-2.0 AND (GPL-2.0+ OR LGPL-2.1+ OR MPL-1.1+) AND Apache-2.0
+ as:Assamese:MPL-2.0 AND Apache-2.0
+ ast:Asturian:MPL-2.0 AND Apache-2.0
+ be:Belarusian:MPL-2.0 AND CC-BY-SA-3.0 AND Apache-2.0
+ bg:Bulgarian:MPL-2.0 AND GPL-2.0+ AND Apache-2.0
+ bn:Bengali:MPL-2.0 AND GPL-2.0 AND Apache-2.0
+ bn_in:Bengali (India):MPL-2.0 AND Apache-2.0
+ bo:Tibetan:MPL-2.0 AND Apache-2.0
+ br:Breton:MPL-2.0 AND LGPL-3.0 AND Apache-2.0
+ brx:Bodo:MPL-2.0 AND Apache-2.0
+ bs:Bosnian:MPL-2.0 AND Apache-2.0
+ ca:Catalan:MPL-2.0 AND GPL-2.0+ AND GPL-3.0+ AND (GPL-3.0+ OR LGPL-3.0+) AND Apache-2.0
+ ca_valencia:Catalan (Valencian):MPL-2.0 AND Apache-2.0
+ cs:Czech:MPL-2.0 AND Custom AND Apache-2.0
+ cy:Welsh (Cymraeg):MPL-2.0 AND Apache-2.0
+ da:Danish:MPL-2.0 AND (GPL-2.0 OR LGPL-2.1 OR MPL-1.1) AND Apache-2.0
+ de:German:MPL-2.0 AND (GPL-2.0 OR GPL-3.0 OR OASIS-0.1) AND Apache-2.0
+ dgo:Dogri proper:MPL-2.0 AND Apache-2.0
+ dz:Dzongkha:MPL-2.0 AND Apache-2.0
+ el:Greek:MPL-2.0 AND (GPL-2.0 OR LGPL-2.1 OR MPL-1.1) AND Apache-2.0
+ en_gb:English (UK):MPL-2.0
+ en_us:English (US):MPL-2.0 AND Custom AND MIT AND (MPL-1.1 OR GPL-3.0+ OR LGPL-3.0+) AND GPL-2.0+ AND LGPL-2.1+ AND Apache-2.0
+ en_za:English (South Africa):MPL-2.0
+ eo:Esperanto:MPL-2.0 AND Apache-2.0
+ es:Spanish:MPL-2.0 AND (GPL-3.0 OR LGPL-3.0 OR MPL-1.1) AND LGPL-2.1 AND Apache-2.0
+ et:Estonian:MPL-2.0 AND LGPL-2.1 AND LPPL-1.3c AND Apache-2.0
+ eu:Basque:MPL-2.0 AND Apache-2.0
+ fa:Persian (Farsi):MPL-2.0 AND Apache-2.0
+ fi:Finnish:MPL-2.0 AND Apache-2.0
+ fr:French:MPL-2.0 AND (MPL-1.1+ OR GPL-2.0+ OR LGPL-2.1+) AND LPPL-1.3c AND LGPL-2.1+ AND Apache-2.0
+ ga:Irish:MPL-2.0 AND Apache-2.0
+ gd:Scottish Gaelic:MPL-2.0 AND GPL-3.0 AND Apache-2.0
+ gl:Galician:MPL-2.0 AND GPL-3.0 AND Apache-2.0
+ gu:Gujarati:MPL-2.0 AND GPL-3.0 AND Apache-2.0
+ gug:Guaraní (Paraguay):MPL-2.0 AND Apache-2.0
+ he:Hebrew:MPL-2.0 AND GPL-3.0 AND Apache-2.0
+ hi:Hindi:MPL-2.0 AND GPL-2.0+ AND Apache-2.0
+ hr:Croatian:MPL-2.0 AND LGPL-2.1 AND Apache-2.0
+ hu:Hungarian:MPL-2.0 AND (GPL-2.0+ OR LGPL-2.1+ OR MPL-1.1+) AND Apache-2.0
+ id:Indonesian:MPL-2.0 AND Apache-2.0
+ is:Icelandic:MPL-2.0 AND CC-BY-SA-3.0 AND Apache-2.0
+ it:Italian:MPL-2.0 AND GPL-3.0 AND LGPL-3.0 AND Apache-2.0
+ ja:Japanese:MPL-2.0 AND Apache-2.0
+ ka:Georgian:MPL-2.0 AND Apache-2.0
+ kk:Kazakh:MPL-2.0 AND Apache-2.0
+ km:Khmer:MPL-2.0 AND Apache-2.0
+ kmr_latn:Kurmanji Kurdish (Latin):MPL-2.0 AND Apache-2.0
+ kn:Kannada:MPL-2.0 AND Apache-2.0
+ ko:Korean:MPL-2.0 AND Apache-2.0
+ kok:Konkani:MPL-2.0 AND Apache-2.0
+ ks:Kashmiri:MPL-2.0 AND Apache-2.0
+ lb:Luxembourgish:MPL-2.0 AND Apache-2.0
+ lo:Lao:MPL-2.0 AND LGPL-2.1 AND Apache-2.0
+ lt:Lithuanian:MPL-2.0 AND BSD-3-Clause AND LPPL-1.3c AND Apache-2.0
+ lv:Latvian:MPL-2.0 AND LGPL-2.1 AND Apache-2.0
+ mai:Maithili:MPL-2.0 AND Apache-2.0
+ mk:Macedonian:MPL-2.0 AND Apache-2.0
+ ml:Malayalam:MPL-2.0 AND Apache-2.0
+ mn:Mongolian:MPL-2.0 AND Apache-2.0
+ mni:Meithei (Manipuri):MPL-2.0 AND Apache-2.0
+ mr:Marathi:MPL-2.0 AND Apache-2.0
+ my:Burmese:MPL-2.0 AND Apache-2.0
+ nb:Norwegian (Bokmal):MPL-2.0 AND Apache-2.0
+ ne:Nepali:MPL-2.0 AND LGPL-2.1 AND Apache-2.0
+ nl:Dutch:MPL-2.0 AND (BSD-2-Clause OR CC-BY-3.0) AND Apache-2.0
+ no:Norwegian:GPL-2.0
+ nn:Nynorsk:MPL-2.0 AND Apache-2.0
+ nr:Ndebele (South):MPL-2.0 AND Apache-2.0
+ nso:Northern Sotho:MPL-2.0 AND Apache-2.0
+ oc:Occitan:MPL-2.0 AND GPL-2.0+ AND Apache-2.0
+ om:Oromo:MPL-2.0 AND Apache-2.0
+ or:Oriya:MPL-2.0 AND Apache-2.0
+ pa_in:Punjabi (India):MPL-2.0 AND Apache-2.0
+ pl:Polish:MPL-2.0 AND (GPL OR LGPL OR MPL OR CC-SA-1.0) AND LGPL-3.0 AND LGPL-2.1 AND Apache-2.0
+ pt:Portuguese:MPL-2.0 AND (GPL-2.0 OR LGPL-2.1 OR MPL-1.1) AND GPL-2.0 AND Apache-2.0
+ pt_br:Portuguese (Brazil):MPL-2.0 AND (LGPL-3.0 OR MPL-1.1) AND (GPL-3.0+ OR LGPL-3.0+ OR MPL-1.1) AND Apache-2.0
+ ro:Romanian:MPL-2.0 AND (GPL-2.0 OR LGPL-2.1 OR MPL-1.1) AND GPL-2.0 AND GPL-2.0+ AND Apache-2.0
+ ru:Russian:MPL-2.0 AND (MPL-1.1 OR GPL OR LGPL) AND Custom AND LGPL AND Apache-2.0
+ rw:Kinyarwanda:MPL-2.0 AND Apache-2.0
+ sa_in:Sanskrit (India):MPL-2.0 AND Apache-2.0
+ sat:Santali:MPL-2.0 AND Apache-2.0
+ sd:Sindhi:MPL-2.0 AND Apache-2.0
+ si:Sinhala:MPL-2.0 AND GPL-3.0 AND Apache-2.0
+ sid:Sidamo:MPL-2.0 AND Apache-2.0
+ 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
+ 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
+ sw_tz:Swahili (Tanzania):MPL-2.0 AND LGPL-2.1 AND Apache-2.0
+ ta:Tamil:MPL-2.0 AND Apache-2.0
+ te:Telugu:MPL-2.0 AND GPL-2.0+ AND (GPL-3.0+ OR LGPL-3.0+) AND Apache-2.0
+ tg:Tajik:MPL-2.0 AND Apache-2.0
+ th:Thai:MPL-2.0 AND LGPL-2.1 AND Apache-2.0
+ tn:Tswana:MPL-2.0 AND Apache-2.0
+ tr:Turkish:MPL-2.0 AND Apache-2.0
+ ts:Tsonga:MPL-2.0 AND Apache-2.0
+ tt:Tatar:MPL-2.0 AND Apache-2.0
+ ug:Uyghur:MPL-2.0 AND Apache-2.0
+ uk:Ukrainian:MPL-2.0 AND (GPL-2.0+ OR LGPL-2.1+ OR MPL-1.1) AND GPL-2.0+ AND Apache-2.0
+ uz:Uzbek:MPL-2.0 AND Apache-2.0
+ ve:Venda:MPL-2.0 AND Apache-2.0
+ vi:Vietnamese:MPL-2.0 AND GPL-2.0 AND Apache-2.0
+ xh:Xhosa:MPL-2.0 AND Apache-2.0
+ 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
+ # e.g. zh_cn -> zh_CN
+ *_[a-z][a-z]) lang="${lang%_*}_$(printf '%s' "${lang#*_}" | tr '[a-z]' '[A-Z]')";;
+ # e.g. sr_latn -> sr_Latn
+ *_latn) lang="${lang%_latn}_Latn";;
+ esac
+ printf '%s' "$lang"
+}
+_lo_languages=""
+for _lang in $(printf '%s' "$_languages" | cut -d : -f 1); do
+ subpackages="$subpackages $pkgname-lang-$_lang:_split_lang:noarch"
+ # Seriously now. We even have secret languages that are not recognized
+ # by the configure script. These two languages only have dictionaries.
+ # c.f. _split_lang()
+ [ "$_lang" = "an" ] || [ "$_lang" = "no" ] && continue
+
+ # --with-languages seems to prefer dashes instead of underscores
+ # when --with-myspell-dicts is given
+ _lang="$(_lo_lang "$_lang" | tr _ -)"
+ _lo_languages="$_lo_languages $_lang"
+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
+}
+
+build() {
+ export PYTHON="python3"
+ # Note: --with-parallelism must be specified since getconf does not
+ # recognize _NPROCESSORS_ONLN
+
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --with-vendor="Adélie Linux" \
+ --enable-symbols \
+ --with-parallelism="$JOBS" \
+ --disable-online-update \
+ --disable-fetch-external \
+ --disable-dependency-tracking \
+ --enable-release-build \
+ --enable-split-app-modules \
+ --enable-python=system \
+ --with-tls=nss \
+ --with-system-libs \
+ --with-system-ucpp \
+ --with-help \
+ --without-system-dicts \
+ --with-external-tar="$srcdir" \
+ --with-lang="$_lo_languages" \
+ --with-myspell-dicts \
+ --without-fonts \
+ --disable-firebird-sdbc \
+ --disable-coinmp \
+ --disable-lpsolve \
+ --enable-gtk3 \
+ --disable-qt5 \
+ --disable-odk \
+ --disable-avahi \
+ --disable-scripting-beanshell \
+ --disable-scripting-javascript \
+ --disable-sdremote \
+ --disable-sdremote-bluetooth \
+ --disable-pdfium \
+ --disable-ooenv \
+ --without-java \
+ --disable-epm \
+ --enable-build-opensymbol
+
+ # adding '-isystem /usr/include' make things break with gcc6
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823145
+ sed -i -e 's:-isystem /usr/include[^/]::g' config_host.mk
+
+ make build-nocheck
+}
+
+check() {
+ make -k -j1 unitcheck
+}
+
+package() {
+ make DESTDIR="$pkgdir" distro-pack-install
+}
+
+doc() {
+ default_doc
+ pkgdesc="LibreOffice - man pages"
+ sed -i -e '\#^/usr/share/man#d' "$builddir"/file-lists/*.txt
+}
+
+_split() {
+ local i
+ for i in $(grep -v ^%dir "$builddir/file-lists/${1}_list.txt" | sort -u); do
+ dirname="$(dirname $i)"
+ [ -d "$subpkgdir/$dirname" ] || install -dm755 "$subpkgdir/$dirname"
+ mv "$pkgdir/$i" "$subpkgdir/$i"
+ done
+}
+
+_move_from() {
+ orig_pkg="$1" # original owner of $path
+ path="$2" # file/directory to move
+ dest="$3" # destination directory, automatically under $subpkgdir
+
+ sed -i -e "\\#^\\(%dir \\)*/${path#$pkgdir/}#d" \
+ "$builddir/file-lists/${orig_pkg}_list.txt"
+ [ -d "$subpkgdir/$dest" ] || install -dm755 "$subpkgdir/$dest"
+ mv "$path" "$subpkgdir/$dest"
+}
+
+_split_lang() {
+ local i lang entry dict dictdir auto autodir wiz wizdir logo logodir
+ lang="${subpkgname#$pkgname-lang-}"
+ entry="$(printf '%s' "$_languages" | grep "^\\s*$lang")"
+ lang="$(_lo_lang "$lang")"
+
+ pkgdesc="LibreOffice - $(printf '%s' "$entry" | cut -d : -f 2) language pack"
+ license="$(printf '%s' "$entry" | cut -d : -f 3)"
+ depends=""
+
+ # Includes translations/messages and help packs initially
+ _split "lang_$lang"
+ # Everything else we must move by hand
+
+ dictdir="usr/lib/libreoffice/share/extensions"
+ case "$lang" in
+ # en_US is installed by default, so it will own most of the English files
+ en_US) dict="en";;
+ pt) dict="pt-PT";;
+ *) dict="$(printf '%s' "$lang" | tr _ -)";;
+ esac
+ if [ -d "$pkgdir/$dictdir/dict-$dict" ]; then
+ _move_from common "$pkgdir/$dictdir/dict-$dict" "$dictdir"
+ fi
+ # Again, these languages only have dictionaries
+ [ "$_lang" = "an" ] || [ "$_lang" = "no" ] && return 0
+
+ autodir="usr/lib/libreoffice/share/autocorr"
+ case "$lang" in
+ de) auto="de";;
+ en_US) auto="en-[A-Z][A-Z]";;
+ en_*) auto="skip";;
+ es) auto="es";;
+ fr) auto="fr";;
+ it) auto="it";;
+ pt) auto="pt-PT";;
+ pt_BR) auto="pt-BR";;
+ *_[A-Z][A-Z]) auto="$(printf '%s' "$lang" | tr _ -)";;
+ *_Latn) auto="${lang%_Latn}-Latn-[A-Z][A-Z]";;
+ *) auto="$lang-[A-Z][A-Z]";;
+ esac
+ for i in $(find "$pkgdir/$autodir" -name "acor_$auto.dat"); do
+ _move_from common "$i" "$autodir"
+ done
+
+ wizdir="usr/lib/libreoffice/share/wizards"
+ case "$lang" in
+ en_US) wiz="en_[A-Z][A-Z]";;
+ en_*) wiz="skip";;
+ *) wiz="$lang";;
+ esac
+ for i in $(find "$pkgdir/$wizdir" -name "resources_$wiz.properties"); do
+ _move_from common "$i" "$wizdir"
+ done
+
+ logodir="usr/lib/libreoffice/share/Scripts/python/LibreLogo"
+ case "$lang" in
+ en_US) logo="en_[A-Z][A-Z]";;
+ en_*) logo="skip";;
+ *) logo="$lang";;
+ esac
+ for i in $(find "$pkgdir/$logodir" -name "LibreLogo_$logo.properties"); do
+ _move_from common "$i" "$logodir"
+ done
+}
+
+common() {
+ pkgdesc="LibreOffice - common files"
+ depends="$pkgname-lang-en_us=$pkgver-r$pkgrel $_fonts !$pkgname-gtk2"
+
+ _split common
+
+ mkdir -p "$subpkgdir/usr/share/appdata"
+ mv "$pkgdir"/usr/share/appdata/*.xml "$subpkgdir/usr/share/appdata"
+
+ mkdir -p "$subpkgdir"/usr/lib/libreoffice/share
+ mv "$pkgdir"/usr/lib/libreoffice/share/libreofficekit \
+ "$subpkgdir"/usr/lib/libreoffice/share/libreofficekit
+
+ # At this point there should only be empty directories left in
+ # the "libreoffice" metapackage
+ if [ -n "$(find "$pkgdir" -type f)" ]; then
+ error "Files still in 'libreoffice' package:"
+ find "$pkgdir" -type f | sed "s#^$pkgdir/#\\t#"
+ return 1
+ fi
+}
+
+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=$pkgver-r$pkgrel"
+ _split base
+}
+
+calc() {
+ pkgdesc="LibreOffice - spreadsheet editor"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
+ _split calc
+}
+
+draw() {
+ pkgdesc="LibreOffice - drawing application"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
+ _split draw
+}
+
+impress() {
+ pkgdesc="LibreOffice - presentation application"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
+ _split impress
+}
+
+math() {
+ pkgdesc="LibreOffice - equation editor"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
+ _split math
+}
+
+postgres() {
+ pkgdesc="LibreOffice - connector for PostgreSQL database"
+ depends="libreoffice-base=$pkgver-r$pkgrel"
+ _split postgresql
+}
+
+writer() {
+ pkgdesc="LibreOffice - word processor"
+ depends="libreoffice-common=$pkgver-r$pkgrel"
+ _split writer
+}
+
+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
+bac06a1f0f6ef3e5860ec340470583b2a7ff079efa9efee9119ae1ac320b97ecbfdb7eba63975d4f7a4e2476d3b01a9508a53a84b49df0a8febe12e17b685529 gettext-tiny.patch
+ebfc1276a14354bb6b7274bd7850b7fe2b1653c379b1e04023c9fce65eaace4214b2e79d302a075b848297f454b3d340cf5e7db3565a69a2dfaecd4c98d6e669 disable-crc-test.patch
+4ffc389a3c545d37d152bb52390c3abd06a32eb9fee03110c07e8b57f9b9d1be68fdc5092ad0be76f6540367a1f1d2e9e32d519021d8205847594edb811da428 disable-outdated-font-test.patch
+a4b63e741cd0aa295440a79142f221f2526ae7ba4f2fd28f37366871970c539332de70d89dfe8682d917aa70131b7c3a703e592e88085b58d024659105f8066a disable-mariadbc.patch
+52f2e36b77fd952293d5bcd75d58aaee52faa846764d39c9f066778dfb7c7dcd3a6ab7ff6aeb8bd4a5671cec450888638f7c628c0302c7603e07b582c84ca556 mso-lockfile-utf16le.patch
+38b09913075219e6d9bc34e94f995653941909118e96f89f7cf45798682758c541ff182b6643e45c7f20dfbb1c4c03e51ea4d8cdd15a997718f297c3c78245b5 poppler-0.83.patch"
diff --git a/legacy/libreoffice/disable-crc-test.patch b/legacy/libreoffice/disable-crc-test.patch
new file mode 100644
index 000000000..474408514
--- /dev/null
+++ b/legacy/libreoffice/disable-crc-test.patch
@@ -0,0 +1,62 @@
+--- 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
+
+- 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", 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", crc3}
++ {"srcx", "2"}, {"srcy", "1"}, {"srcwidth", "4"}, {"srcheight", "3"}
+ });
+ }
+
+@@ -973,33 +972,33 @@ void SvmTest::checkBitmapExs(const GDIMe
+ }
+
+ assertXPathAttrs(pDoc, "/metafile/bmpex[1]", {
+- {"x", "1"}, {"y", "1"}, {"crc", aExpectedCRC[0]}, {"transparenttype", "bitmap"}
++ {"x", "1"}, {"y", "1"}, {"transparenttype", "bitmap"}
+ });
+ assertXPathAttrs(pDoc, "/metafile/bmpexscale[1]", {
+ {"x", "5"}, {"y", "0"}, {"width", "2"}, {"height", "3"},
+- {"crc", aExpectedCRC[1]}, {"transparenttype", "bitmap"}
++ {"transparenttype", "bitmap"}
+ });
+ assertXPathAttrs(pDoc, "/metafile/bmpexscalepart[1]", {
+ {"destx", "7"}, {"desty", "1"}, {"destwidth", "2"}, {"destheight", "2"},
+ {"srcx", "0"}, {"srcy", "0"}, {"srcwidth", "3"}, {"srcheight", "4"},
+- {"crc", aExpectedCRC[2]}, {"transparenttype", "bitmap"}
++ {"transparenttype", "bitmap"}
+ });
+
+ #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/legacy/libreoffice/disable-mariadbc.patch b/legacy/libreoffice/disable-mariadbc.patch
new file mode 100644
index 000000000..f63692775
--- /dev/null
+++ b/legacy/libreoffice/disable-mariadbc.patch
@@ -0,0 +1,13 @@
+We don't have MariaDB yet and there is no ./configure option for it
+
+--- 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" -o "$enable_mpl_subset" = "yes"; then
+ ENABLE_MARIADBC=
+ fi
diff --git a/legacy/libreoffice/disable-outdated-font-test.patch b/legacy/libreoffice/disable-outdated-font-test.patch
new file mode 100644
index 000000000..02470d69a
--- /dev/null
+++ b/legacy/libreoffice/disable-outdated-font-test.patch
@@ -0,0 +1,16 @@
+https://www.mail-archive.com/libreoffice@lists.freedesktop.org/msg217102.html
+
+--- libreoffice-6.2.1.2/editeng/qa/unit/core-test.cxx 2019-02-26 10:41:25.000000000 -0500
++++ libreoffice-6.2.1.2/editeng/qa/unit/core-test.cxx 2019-03-11 04:28:15.930763760 -0400
+@@ -198,11 +198,6 @@ void Test::testLineSpacing()
+ const SvxLineSpacingItem& rLSItem = pNode->GetContentAttribs().GetItem(EE_PARA_SBL);
+ CPPUNIT_ASSERT_EQUAL(SvxInterLineSpaceRule::Prop, rLSItem.GetInterLineSpaceRule());
+ CPPUNIT_ASSERT_EQUAL(nSpace, rLSItem.GetPropLineSpace());
+-
+- // Check the first line
+- ParagraphInfos aInfo = aEditEngine.GetParagraphInfos(0);
+- CPPUNIT_ASSERT_EQUAL(nExpMaxAscent, aInfo.nFirstLineMaxAscent);
+- CPPUNIT_ASSERT_EQUAL(nExpLineHeight, aEditEngine.GetLineHeight(0));
+ };
+
+ // Test first case - 60%
diff --git a/legacy/libreoffice/fix-execinfo.patch b/legacy/libreoffice/fix-execinfo.patch
new file mode 100644
index 000000000..cb82b7d84
--- /dev/null
+++ b/legacy/libreoffice/fix-execinfo.patch
@@ -0,0 +1,33 @@
+--- libreoffice-6.2.1.2/sal/osl/unx/backtrace.h
++++ libreoffice-6.2.1.2/sal/osl/unx/backtrace.h
+@@ -20,7 +20,7 @@
+ #ifndef INCLUDED_SAL_OSL_UNX_BACKTRACE_H
+ #define INCLUDED_SAL_OSL_UNX_BACKTRACE_H
+
+-#if defined (LINUX)
++#if defined (LINUX) && defined (__GLIBC__)
+
+ #include <execinfo.h>
+
+--- libreoffice-6.2.1.2/sal/osl/unx/signal.cxx
++++ libreoffice-6.2.1.2/sal/osl/unx/signal.cxx
+@@ -35,7 +35,7 @@
+
+ #endif /* MACOSX */
+
+-#ifdef LINUX
++#if defined(LINUX) && defined(__GLIBC__)
+ #include <execinfo.h>
+ #include <link.h>
+ #define INCLUDE_BACKTRACE
+--- libreoffice-6.2.1.2/sal/osl/unx/backtrace.c
++++ libreoffice-6.2.1.2/sal/osl/unx/backtrace.c
+@@ -279,7 +279,7 @@ void backtrace_symbols_fd( void **buffer
+ }
+ }
+
+-#elif !defined LINUX
++#elif !defined(__GLIBC__)
+
+ int backtrace( void **buffer, int max_frames )
+ {
diff --git a/legacy/libreoffice/gettext-tiny.patch b/legacy/libreoffice/gettext-tiny.patch
new file mode 100644
index 000000000..a63f45553
--- /dev/null
+++ b/legacy/libreoffice/gettext-tiny.patch
@@ -0,0 +1,38 @@
+gettext-tiny does not currently ship msguniq, so let's cheat around it
+
+--- libreoffice-6.2.1.2/solenv/gbuild/AllLangMoTarget.mk
++++ libreoffice-6.2.1.2/solenv/gbuild/AllLangMoTarget.mk
+@@ -40,10 +40,10 @@
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && \
+ if test -e $(gb_POLOCATION)/$(LANGUAGE)/$(POLOCATION)/messages.po; then \
+- $(MSGUNIQ) --force-po $(gb_POLOCATION)/$(LANGUAGE)/$(POLOCATION)/messages.po | $(MSGFMT) - -o $@; \
++ cat $(gb_POLOCATION)/$(LANGUAGE)/$(POLOCATION)/messages.po | $(MSGFMT) - -o $@; \
+ else \
+ echo missing $(gb_POLOCATION)/$(LANGUAGE)/$(POLOCATION)/messages.po && \
+- $(MSGUNIQ) --force-po $(SRCDIR)/solenv/bin/dummy.po | $(MSGFMT) - -o $@; \
++ cat $(SRCDIR)/solenv/bin/dummy.po | $(MSGFMT) - -o $@; \
+ fi)
+
+ #$(info $(call gb_MoTarget_get_target,$(1)))
+--- libreoffice-6.2.1.2/configure.ac
++++ libreoffice-6.2.1.2/configure.ac
+@@ -12106,18 +12106,6 @@ else
+ fi
+ fi
+ fi
+- if test -z "$MSGUNIQ"; then
+- if test -n "$LODE_HOME" -a -x "$LODE_HOME/opt/bin/msguniq" ; then
+- MSGUNIQ="$LODE_HOME/opt/bin/msguniq"
+- elif test -x "/opt/lo/bin/msguniq"; then
+- MSGUNIQ="/opt/lo/bin/msguniq"
+- else
+- AC_CHECK_PROGS(MSGUNIQ, [msguniq])
+- if test -z "$MSGUNIQ"; then
+- AC_MSG_ERROR([msguniq not found. Install GNU gettext, or re-run without languages.])
+- fi
+- fi
+- fi
+ fi
+ AC_SUBST(MSGFMT)
+ AC_SUBST(MSGUNIQ)
diff --git a/legacy/libreoffice/linux-musl.patch b/legacy/libreoffice/linux-musl.patch
new file mode 100644
index 000000000..2641620cb
--- /dev/null
+++ b/legacy/libreoffice/linux-musl.patch
@@ -0,0 +1,42 @@
+--- 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*)
+ build_gstreamer_1_0=yes
+ test_kf5=yes
+ test_gtk3_kde5=yes
+@@ -4341,7 +4341,7 @@ kfreebsd*)
+ esac
+ ;;
+
+-linux-gnu*)
++linux-gnu*|linux-musl*)
+ COM=GCC
+ USING_X11=TRUE
+ OS=LINUX
+@@ -10232,21 +10232,6 @@ AC_SUBST(SYSTEM_LIBNUMBERTEXT_DATA)
+ AC_SUBST(ENABLE_LIBNUMBERTEXT)
+ AC_SUBST(LIBNUMBERTEXT_CFLAGS)
+
+-dnl ***************************************
+-dnl testing libc version for Linux...
+-dnl ***************************************
+-if test "$_os" = "Linux"; then
+- AC_MSG_CHECKING([whether libc is >= 2.1.1])
+- exec 6>/dev/null # no output
+- AC_CHECK_LIB(c, gnu_get_libc_version, HAVE_LIBC=yes; export HAVE_LIBC)
+- exec 6>&1 # output on again
+- if test "$HAVE_LIBC"; then
+- AC_MSG_RESULT([yes])
+- else
+- AC_MSG_ERROR([no, upgrade libc])
+- fi
+-fi
+-
+ dnl =========================================
+ dnl Check for uuidgen
+ dnl =========================================
diff --git a/legacy/libreoffice/mso-lockfile-utf16le.patch b/legacy/libreoffice/mso-lockfile-utf16le.patch
new file mode 100644
index 000000000..e71413e0a
--- /dev/null
+++ b/legacy/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/legacy/libreoffice/poppler-0.83.patch b/legacy/libreoffice/poppler-0.83.patch
new file mode 100644
index 000000000..57cf13c52
--- /dev/null
+++ b/legacy/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);