From d7e5a71711acc59d51324fd29340e00b720ba625 Mon Sep 17 00:00:00 2001 From: Zach van Rijn Date: Fri, 25 Nov 2022 19:29:48 -0600 Subject: 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. --- legacy/libreoffice/APKBUILD | 495 +++++++++++++++++++++ legacy/libreoffice/disable-crc-test.patch | 62 +++ legacy/libreoffice/disable-mariadbc.patch | 13 + .../libreoffice/disable-outdated-font-test.patch | 16 + legacy/libreoffice/fix-execinfo.patch | 33 ++ legacy/libreoffice/gettext-tiny.patch | 38 ++ legacy/libreoffice/linux-musl.patch | 42 ++ legacy/libreoffice/mso-lockfile-utf16le.patch | 33 ++ legacy/libreoffice/poppler-0.83.patch | 70 +++ user/libreoffice/APKBUILD | 495 --------------------- user/libreoffice/disable-crc-test.patch | 62 --- user/libreoffice/disable-mariadbc.patch | 13 - user/libreoffice/disable-outdated-font-test.patch | 16 - user/libreoffice/fix-execinfo.patch | 33 -- user/libreoffice/gettext-tiny.patch | 38 -- user/libreoffice/linux-musl.patch | 42 -- user/libreoffice/mso-lockfile-utf16le.patch | 33 -- user/libreoffice/poppler-0.83.patch | 70 --- 18 files changed, 802 insertions(+), 802 deletions(-) create mode 100644 legacy/libreoffice/APKBUILD create mode 100644 legacy/libreoffice/disable-crc-test.patch create mode 100644 legacy/libreoffice/disable-mariadbc.patch create mode 100644 legacy/libreoffice/disable-outdated-font-test.patch create mode 100644 legacy/libreoffice/fix-execinfo.patch create mode 100644 legacy/libreoffice/gettext-tiny.patch create mode 100644 legacy/libreoffice/linux-musl.patch create mode 100644 legacy/libreoffice/mso-lockfile-utf16le.patch create mode 100644 legacy/libreoffice/poppler-0.83.patch delete mode 100644 user/libreoffice/APKBUILD delete mode 100644 user/libreoffice/disable-crc-test.patch delete mode 100644 user/libreoffice/disable-mariadbc.patch delete mode 100644 user/libreoffice/disable-outdated-font-test.patch delete mode 100644 user/libreoffice/fix-execinfo.patch delete mode 100644 user/libreoffice/gettext-tiny.patch delete mode 100644 user/libreoffice/linux-musl.patch delete mode 100644 user/libreoffice/mso-lockfile-utf16le.patch delete mode 100644 user/libreoffice/poppler-0.83.patch 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 +# Contributor: Timo Teräs +# Maintainer: Max Rees + +# 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 + +--- 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 + #include + #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 + #include + #include ++#include + + #include + #include +@@ -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(pBuf + 2), nUTF16Len); + aResult[LockFileComponent::OOOUSERNAME] + = OUString(reinterpret_cast(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 +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 +--- + 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; igetSubpath( 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(); ++#else + globalParams = new GlobalParams(); ++#endif + globalParams->setErrQuiet(true); + #if defined(_MSC_VER) + globalParams->setupBaseFonts(nullptr); diff --git a/user/libreoffice/APKBUILD b/user/libreoffice/APKBUILD deleted file mode 100644 index 29ec4c2d3..000000000 --- a/user/libreoffice/APKBUILD +++ /dev/null @@ -1,495 +0,0 @@ -# Contributor: Jens Staal -# Contributor: Timo Teräs -# Maintainer: Max Rees - -# 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/user/libreoffice/disable-crc-test.patch b/user/libreoffice/disable-crc-test.patch deleted file mode 100644 index 474408514..000000000 --- a/user/libreoffice/disable-crc-test.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- 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/user/libreoffice/disable-mariadbc.patch b/user/libreoffice/disable-mariadbc.patch deleted file mode 100644 index f63692775..000000000 --- a/user/libreoffice/disable-mariadbc.patch +++ /dev/null @@ -1,13 +0,0 @@ -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/user/libreoffice/disable-outdated-font-test.patch b/user/libreoffice/disable-outdated-font-test.patch deleted file mode 100644 index 02470d69a..000000000 --- a/user/libreoffice/disable-outdated-font-test.patch +++ /dev/null @@ -1,16 +0,0 @@ -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/user/libreoffice/fix-execinfo.patch b/user/libreoffice/fix-execinfo.patch deleted file mode 100644 index cb82b7d84..000000000 --- a/user/libreoffice/fix-execinfo.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- 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 - ---- 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 - #include - #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/user/libreoffice/gettext-tiny.patch b/user/libreoffice/gettext-tiny.patch deleted file mode 100644 index a63f45553..000000000 --- a/user/libreoffice/gettext-tiny.patch +++ /dev/null @@ -1,38 +0,0 @@ -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/user/libreoffice/linux-musl.patch b/user/libreoffice/linux-musl.patch deleted file mode 100644 index 2641620cb..000000000 --- a/user/libreoffice/linux-musl.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- 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/user/libreoffice/mso-lockfile-utf16le.patch b/user/libreoffice/mso-lockfile-utf16le.patch deleted file mode 100644 index e71413e0a..000000000 --- a/user/libreoffice/mso-lockfile-utf16le.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- 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 - #include - #include -+#include - - #include - #include -@@ -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(pBuf + 2), nUTF16Len); - aResult[LockFileComponent::OOOUSERNAME] - = OUString(reinterpret_cast(pBuf + 2), nUTF16Len); -+ } - } - } - return aResult; diff --git a/user/libreoffice/poppler-0.83.patch b/user/libreoffice/poppler-0.83.patch deleted file mode 100644 index 57cf13c52..000000000 --- a/user/libreoffice/poppler-0.83.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 9065cd8d9a19864f6b618f2dc10daf577badd9ee Mon Sep 17 00:00:00 2001 -From: Martin Milata -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 ---- - 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; igetSubpath( 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(); -+#else - globalParams = new GlobalParams(); -+#endif - globalParams->setErrQuiet(true); - #if defined(_MSC_VER) - globalParams->setupBaseFonts(nullptr); -- cgit v1.2.3-70-g09d2