# 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.
#
# Build requirements:
# * RAM:
#   8 GB with Hulu in Chromium in the background is enough.
#
# * Disk space:
#   * Dependencies:  1131 MiB
#   * Downloads:      398 MiB
#   * Subtotal:      1529 MiB =  1.5 GiB
#   * Complete src: 33970 MiB
#   * Complete pkg:  9637 MiB
#   * All APKs:      2362 MiB =  2.3 GiB
#   * Subtotal:     45969 MiB = 44.9 GiB
#   * Grand total:  47498 MiB = 46.4 GiB
#
# 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.2.1.2
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 $pkgname-calc $pkgname-common $pkgname-draw
	$pkgname-impress $pkgname-math $pkgname-connector-postgres $pkgname-writer"
# 1. Base dependencies
# 2. GUIs - gen
# 3. GUIs - gtk+2.0
# 4. File formats
makedepends="apr-dev bash bison boost-dev cairo-dev clucene-dev cmd:which
	coreutils cppunit-dev cups-dev dbus-glib-dev findutils flex fontconfig-dev
	fontforge-dev freetype-dev glm gperf gpgme-dev gst-plugins-base-dev
	gstreamer-dev harfbuzz-dev hunspell-dev hyphen-dev icu icu-dev lcms2-dev
	libcmis-dev libexttextcat-dev libjpeg-turbo-dev libnumbertext-dev libpng-dev
	libxml2-utils libxslt-dev mdds>=1.4.1 mythes-dev neon-dev nss-dev
	openldap-dev openssl-dev paxmark perl poppler-dev postgresql-dev python3-dev
	py3-lxml redland-dev sane-dev sed ucpp unixodbc-dev util-linux xmlsec-dev zip

	libepoxy-dev libxinerama-dev libxrandr-dev libxrender-dev libxext-dev

	gtk+2.0-dev gdk-pixbuf-dev glib-dev

	libabw-dev libcdr-dev libe-book-dev libepubgen-dev libetonyek-dev
	libfreehand-dev libmspub-dev libmwaw-dev libodfgen-dev liborcus-dev>=0.14
	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-gtk2
	$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
	fix-includes.patch
	gettext-tiny.patch
	disable-crc-test.patch
	disable-outdated-font-test.patch
	disable-mariadbc.patch
	disable-mysqlc.patch
	boost.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
	sr:Serbian:MPL-2.0 AND (LGPL-2.1+ OR MPL-1.1+ OR GPL-2.0+ OR CC-BY-SA-3.0) AND LGPL-2.1+ AND Apache-2.0
	sr_latn:Serbian (Latin):MPL-2.0 AND Apache-2.0
	ss:Swati:MPL-2.0 AND Apache-2.0
	st:Southern Sotho:MPL-2.0 AND Apache-2.0
	sv:Swedish:MPL-2.0 AND LGPL-3.0 AND Custom AND Apache-2.0
	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"

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 \
		--disable-gtk3 \
		--enable-gtk \
		--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 $_fonts"

	_split common

	paxmark -m \
		"$subpkgdir"/usr/lib/libreoffice/program/soffice.bin \
		"$subpkgdir"/usr/lib/libreoffice/program/unopkg.bin

	mkdir -p "$subpkgdir/usr/share/appdata"
	mv "$pkgdir"/usr/share/appdata/*.xml "$subpkgdir/usr/share/appdata"

	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
}

gtk2() {
	pkgdesc="LibreOffice - GTK+2.0 GUI"
	depends="libreoffice-common"
	install_if="$pkgname-common=$pkgver-r$pkgrel gtk+2.0"
	_split gnome
}

base() {
	pkgdesc="LibreOffice - database frontend"
	depends="libreoffice-common"
	_split base
}

calc() {
	pkgdesc="LibreOffice - spreadsheet editor"
	depends="libreoffice-common"
	_split calc
}

draw() {
	pkgdesc="LibreOffice - drawing application"
	depends="libreoffice-common"
	_split draw
}

impress() {
	pkgdesc="LibreOffice - presentation application"
	depends="libreoffice-common"
	_split impress
}

math() {
	pkgdesc="LibreOffice - equation editor"
	depends="libreoffice-common"
	_split math
}

postgres() {
	pkgdesc="LibreOffice - connector for PostgreSQL database"
	depends="libreoffice-base"
	_split postgresql
}

writer() {
	pkgdesc="LibreOffice - word processor"
	depends="libreoffice-common"
	_split writer
}

sha512sums="0d18e5f470b3e8a70d1679c7acdc91887cbbbb2032e1eb452308d257a6bc02d42e93fec66709c84838f7565e42217ac1d2b121e3356f7c754fc7ee33b7c6f0ef  libreoffice-6.2.1.2.tar.xz
e9acd76b783a7a0b3344f267a8105ede52b2da92d6c1ae2b54237ffc30d4f87a8e126bb597ab3c4d993bb1e89f1b5d16921ea3d83419c1b5b69cb83aae007bd3  libreoffice-dictionaries-6.2.1.2.tar.xz
4dafc81179fbb8a0b10c774ec072d0abdcdfebbcd5eb8341802bd7d515bd0ea5fb117729ae66b5666da5927a567b54a23c870bcd16ba64478016a4ab84f7f3a5  libreoffice-translations-6.2.1.2.tar.xz
c8bd2765b46162203d0b0acc06dc76108bd0093020981e1030d26d5a8771fb9494337c16cc99c10b7de7a906e713dd27555b0af8754d142387c3a968fa663a2f  libreoffice-help-6.2.1.2.tar.xz
600e4eb772b1e24e06b906682fc4d4114d62ede3adcde3639482edafef56e970ac09925fcd910dccee8a14f5ca049ac3de3f279ebcc2be3a611e3883f3a7efb8  linux-musl.patch
ed18d6bc6e03369e17b50e6b969ac0804984c1416fdfe7120251d11c59a791bb0fc8956f848ee8697fce3c074f2943b03d4441aa531ff9504be2f497a8e7e412  fix-execinfo.patch
a1d704c78e3decb83eb45b0f180e7b352d58b4005a7e43dd8fddcb4829c932da4f0dd3d4dfeaa2313c1520273e9e1c64979a0ecbe5d72737926c54d5658bd2ff  fix-includes.patch
bac06a1f0f6ef3e5860ec340470583b2a7ff079efa9efee9119ae1ac320b97ecbfdb7eba63975d4f7a4e2476d3b01a9508a53a84b49df0a8febe12e17b685529  gettext-tiny.patch
6a039ba592a23b8db1dd5c8d5dffbc9562270de691d2eb1e1c420f8632532c0fce14a0f3844dc2e6f6b6b04655c40230bd69fd81d1ae6f0bd16f0e88ce0a2783  disable-crc-test.patch
4ffc389a3c545d37d152bb52390c3abd06a32eb9fee03110c07e8b57f9b9d1be68fdc5092ad0be76f6540367a1f1d2e9e32d519021d8205847594edb811da428  disable-outdated-font-test.patch
c1925fe5833410c6a4b47a1723e67ce3898fc01ebded766023855cd93f290a6788638a86a8595e112ab788628c0ea7642c41d7ff987ba9117c2e079a99a3b29f  disable-mariadbc.patch
01ef207d0b3ab1ded5edadd2d05cefe65d7c2dc4285abee12d7fbb61c92b2a3e37d5cfe5bb8f5ea9a40fd2918396ec25b473a916012e04732ebbe79ee6768a21  disable-mysqlc.patch
431f55b4ec96caa94b0f55d3691931ad65320ecacbd8f9c9f477107136866ba614683eb77458006960240918392e995a567f5b5436d75003ac036f6d24a77e0a  boost.patch"