#!/bin/sh
# Template file for 'libreoffice'
pkgname=libreoffice
version=6.1.0.3
revision=2
build_style=meta
make_build_args="build-nocheck"
nocross=yes

#
# XXX: mit-krb5-devel nasm firebird3 hamcrest iwyu ogl-math
# Missing, required libraries are downloaded and built internally
#
hostmakedepends="automake flex git gperf hyphen icu libtool openldap
 perl-Archive-Zip pkg-config sane ucpp unzip wget zip"
makedepends="CoinMP-devel apr-devel avahi-libs-devel clucene-devel glyphy-devel
 gpgmepp-devel gst-plugins-base1-devel gtk+-devel gtk+3-devel hunspell-devel
 hyphen-devel libXt-devel libabw-devel libatomic_ops-devel libbluetooth-devel
 libcdr-devel libcmis-devel libe-book-devel libepubgen-devel libetonyek-devel
 libexttextcat-devel libfreehand-devel libgcrypt-devel libgltf-devel
 libldap-devel libmariadbclient-devel libmspub-devel libmwaw-devel libnumbertext-devel
 libodfgen-devel liborcus-devel libpagemaker-devel libqxp-devel librsvg-devel
 libvisio-devel libwpg-devel libwps-devel lpsolve-devel mdds0 mythes-devel
 neon-devel nss-devel poppler-cpp-devel postgresql-libs-devel python3-devel
 redland-devel sane-devel telepathy-glib-devel unixodbc-devel vigra-devel
 vlc-devel cppunit-devel"
depends="libreoffice-common>=${version}_${revision}"
depends+=" libreoffice-base>=${version}_${revision}"
depends+=" libreoffice-calc>=${version}_${revision}"
depends+=" libreoffice-draw>=${version}_${revision}"
depends+=" libreoffice-fonts>=${version}_${revision}"
depends+=" libreoffice-firebird>=${version}_${revision}"
depends+=" libreoffice-gnome>=${version}_${revision}"
depends+=" libreoffice-impress>=${version}_${revision}"
depends+=" libreoffice-math>=${version}_${revision}"
depends+=" libreoffice-postgresql>=${version}_${revision}"
depends+=" libreoffice-writer>=${version}_${revision}"
depends+=" libreoffice-xtensions>=${version}_${revision}"
# Add the previously installed default languages as well
depends+=" libreoffice-i18n-en-US>=${version}_${revision}"
depends+=" libreoffice-i18n-de>=${version}_${revision}"
depends+=" libreoffice-i18n-es>=${version}_${revision}"
depends+=" libreoffice-i18n-fr>=${version}_${revision}"
depends+=" libreoffice-i18n-it>=${version}_${revision}"
depends+=" libreoffice-i18n-pl>=${version}_${revision}"
depends+=" libreoffice-i18n-pt>=${version}_${revision}"
short_desc="Productivity suite"
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
license="GPL-3.0-or-later"
homepage="http://www.libreoffice.org/"

# Additional zip archives
_ooop_fonts_md5hash=a10aa597411643326e27d7fc128af12d
_ooop_fonts_version=2.9.0.0
_ooop_gallery_md5hash=af9314c5972d95a5d6da23ffad818f68
_ooop_gallery_version=2.8.0.0
_ooop_samples_md5hash=a6bccacf44914969e6e7b2f8faf4132c
_ooop_samples_version=2.7.0.0
_ooop_templates_md5hash=1be202fbbbc13f10592a98f70a4a87fb
_ooop_templates_version=2.9.0.0
# Extra gallery, samples and templates
_ooopurl="http://ooo.itc.hu/oxygenoffice/download/libreoffice"
# Source, dictionary, help and translations
_baseurl="http://download.documentfoundation.org/${pkgname}/src/${version%.*}"
_addurl="http://dev-www.libreoffice.org/src"
_exturl="http://dev-www.libreoffice.org/extern"

# Additional distfiles and checksums can be found in
# the file 'download.lst' after configure was run.
distfiles="
 ${_baseurl}/${pkgname}-${version}.tar.xz
 ${_baseurl}/${pkgname}-dictionaries-${version}.tar.xz
 ${_baseurl}/${pkgname}-help-${version}.tar.xz
 ${_baseurl}/${pkgname}-translations-${version}.tar.xz
 ${_ooopurl}/${_ooop_fonts_md5hash}-OOOP-fonts-pack-${_ooop_fonts_version}.zip
 ${_ooopurl}/${_ooop_gallery_md5hash}-OOOP-gallery-pack-${_ooop_gallery_version}.zip
 ${_ooopurl}/${_ooop_samples_md5hash}-OOOP-samples-pack-${_ooop_samples_version}.zip
 ${_ooopurl}/${_ooop_templates_md5hash}-OOOP-templates-pack-${_ooop_templates_version}.zip
 ${_addurl}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
 ${_addurl}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
 ${_addurl}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
 ${_addurl}/language-subtag-registry-2017-08-15.tar.bz2
 ${_addurl}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
 ${_addurl}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
 ${_addurl}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
 ${_addurl}/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2
 ${_addurl}/Firebird-3.0.0.32483-0.tar.bz2
 ${_addurl}/libstaroffice-0.0.6.tar.xz
 ${_addurl}/libzmf-0.0.2.tar.xz
 ${_addurl}/pdfium-3426.tar.bz2
 ${_addurl}/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip
 ${_exturl}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
 ${_exturl}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-461.jar
 ${_exturl}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
 ${_addurl}/commons-logging-1.2-src.tar.gz
 ${_addurl}/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip
 ${_addurl}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
 ${_addurl}/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt
 ${_addurl}/b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt
 ${_addurl}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
 ${_addurl}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
 ${_addurl}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
 ${_addurl}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
 ${_addurl}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
 ${_addurl}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
 ${_addurl}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
 ${_addurl}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
 ${_addurl}/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz
 ${_addurl}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
 ${_addurl}/ltm-1.0.zip
 ${_addurl}/xmlsec1-1.2.25.tar.gz
 ${_addurl}/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz
 ${_addurl}/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz
 ${_addurl}/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip
 ${_addurl}/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip
 ${_addurl}/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz
 ${_addurl}/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz
 ${_addurl}/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip
 ${_addurl}/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz
 ${_addurl}/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz
 ${_addurl}/EmojiOneColor-SVGinOT-1.3.tar.gz
 ${_addurl}/noto-fonts-20171024.tar.gz
 ${_addurl}/culmus-0.131.tar.gz
 ${_addurl}/libre-hebrew-1.0.tar.gz
 ${_addurl}/alef-1.001.tar.gz
 ${_addurl}/ttf-kacst_2.01+mry.tar.gz
 ${_addurl}/lxml-4.1.1.tgz
 ${_addurl}/Amiri-0.111.zip
 ${_addurl}/ReemKufi-0.7.zip
 ${_addurl}/Scheherazade-2.100.zip
"
checksum="
 54eccd268f75d62fa6ab78d25685719c109257e1c0f4d628eae92ec09632ebd8
 fc1e088a15518c153df634cc5fb1f7faeb5632a38b3dafadb411376743a7a7d6
 bbc5ccdba93ab8a2e792311a6b5e84f160882ef4048eff46ecdfc31d0bd5da2b
 a7625274535154e393e22ac1a1795859d4f7ead1c78e25b63554446f0d061190
 cf21b8a0a58c0f0af562869846ce2af4c68b13a7178b9b74ee7be7480a87c84c
 c95f6c398e81ee7def378e51e4c7b5bdeba526f28ff281e79ca3795e6d467159
 1834aa0632499134f98ce85057d6d67604b9ed3b7efa7f13e76046f5886a3a2d
 c31a4b1ab988a6b016654cc91e9652727cbb0fcbe9b09ee4b3d93b57a57901e0
 1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753
 75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870
 983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776
 d6a97fc8da5ae54d867e7f1b65ffb51e816cadd11714e45fc23ee0abf81a51ab
 d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370
 1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133
 233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd
 48c87e41636783bba438b65fd895821e369ed139e1465fac654323ad93c5a82d
 6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860
 6b00e1ed8194e6072be4441025d1b888e39365727ed5b23e0e8c92c4009d1ec4
 27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22
 80331b48166501a192d65476932f17044eeb5f10faa6ea50f4f175169475c957
 d0312c360efe04dd048b3311fe375ff36f1993b4c2e3cb58c81062990532904a
 f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770
 aa8896eef3adbd6b54d4ec1817c1bc3871cce99120faf26f93502077480233cf
 eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6
 49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81
 9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96
 64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1
 71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3
 1568ed1d2feb8210bb5de61d69574a165cded536cfa17c6953c9064076469de2
 75c80359c9ce343c20aab8a36a45cb3b9ee7c61cf92c13ae45399d854423a9ba
 e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743
 5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b
 e1fb87f3f7b980d33414473279615c4644027e013012d156efa538bc2b031772
 3d853b19b1d94a6efa69e7af90f7f2b09ecf302913bee3da796c15ecfebcfac8
 abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095
 05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343
 7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66
 a25f14dad39e93a2f9cdf09166ee53981f7212dce829e4208e07a522963a8585
 085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045
 083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483
 967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2
 c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09
 4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a
 7576310b219e04159d35ff61dd4a4ec4cdba4f35c00e002a136f00e96a908b0a
 2f1a2c5491d7305dffd3520c6375d2f3e14931ee35c6d8ae1e8f098bf1a7b3cc
 61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c
 7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504
 54adcb2bc8cac0927a647fbd9362f45eff48130ce6e2379dc3867643019e08c5
 09466dce87653333f189acd8358c60c6736dcd95f042dee0b644bdcf65b6ae2f
 e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61
 d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7
 29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994
 dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b
 f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a
 b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52
 dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56
 940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e
 1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166
 f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f
 251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5
"
skip_extraction="
 ${pkgname}-dictionaries-${version}.tar.xz
 ${pkgname}-help-${version}.tar.xz
 ${pkgname}-translations-${version}.tar.xz
 ${_ooop_fonts_md5hash}-OOOP-fonts-pack-${_ooop_fonts_version}.zip
 ${_ooop_gallery_md5hash}-OOOP-gallery-pack-${_ooop_gallery_version}.zip
 ${_ooop_samples_md5hash}-OOOP-samples-pack-${_ooop_samples_version}.zip
 ${_ooop_templates_md5hash}-OOOP-templates-pack-${_ooop_templates_version}.zip
 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
 a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
 0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
 language-subtag-registry-2017-08-15.tar.bz2
 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
 d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
 ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
 b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2
 Firebird-3.0.0.32483-0.tar.bz2
 libstaroffice-0.0.6.tar.xz
 libzmf-0.0.2.tar.xz
 pdfium-3426.tar.bz2
 bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip
 8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
 odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-461.jar
 185d60944ea767075d27247c3162b3bc-unowinreg.dll
 commons-logging-1.2-src.tar.gz
 beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip
 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
 1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt
 b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt
 eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
 3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
 3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
 db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
 97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
 8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
 f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
 ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
 7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz
 39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
 ltm-1.0.zip
 xmlsec1-1.2.25.tar.gz
 368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz
 c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz
 33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip
 1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip
 134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz
 5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz
 e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip
 907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz
 edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz
 EmojiOneColor-SVGinOT-1.3.tar.gz
 noto-fonts-20171024.tar.gz
 culmus-0.131.tar.gz
 libre-hebrew-1.0.tar.gz
 alef-1.001.tar.gz
 ttf-kacst_2.01+mry.tar.gz
 lxml-4.1.1.tgz
 Amiri-0.111.zip
 ReemKufi-0.7.zip
 Scheherazade-2.100.zip
"

build_options="java"
desc_option_java="Enable Java support"

if [ -n "$XBPS_CHECK_PKGS" ]; then
	make_build_args="build"
fi

case "$XBPS_TARGET_MACHINE" in
	i686)	# Broken unit tests
		CXXFLAGS+=" -DDISABLE_CVE_TESTS=1"
		makedepends+=" clucene-devel"
		;;
	*-musl)	# use shipped clucene, because CLucene/analysis/cjk/CJKAnalyzer.h
		# is missing in the musl clucene-devel files
		;;
	x86_64)	build_options_default="java"
		makedepends+=" apache-ant openjdk "
		makedepends+=" clucene-devel"
		;;
	*)	makedepends+=" clucene-devel"
		;;
esac

CXXFLAGS+=" -DGLM_ENABLE_EXPERIMENTAL -DU_USING_ICU_NAMESPACE=1"

# Move files listed in a <name>_list.txt into $PKGDESTDIR
_split() {
	local list file dir destdir
	destdir="${DESTDIR}/all"
	for list in ${wrksrc}/file-lists/${1}_list.txt; do
		# skip non-existing file lists
		! [ -f ${list} ] && msg_error "There is no ${1}_list.txt file!\n"
		for file in $(grep -v ^%dir ${list} | sort | uniq); do
			dir="${file%/*}"
			! [ -d "${PKGDESTDIR}/${dir}" ] && vmkdir "${dir}"
			mv ${destdir}/${file} ${PKGDESTDIR}/${dir}/
		done
	done
	# Move appdata file, if any
	file=usr/share/appdata/libreoffice-${1}.appdata.xml
	if [ -f ${destdir}/${file} ]; then
		dir="${file%/*}"
		! [ -d "${PKGDESTDIR}/${dir}" ] && vmkdir "${dir}"
		mv ${destdir}/${file} ${PKGDESTDIR}/${dir}/
	fi
}

_languages=""
_add_lang() {
	local pkglang="${3:-$1}"
	_languages="$_languages ${pkglang//_/-}"
	eval "libreoffice-i18n-${1}_package() {
		short_desc+=\"- ${2} language pack\"
		noarch=yes
		pkg_install() {
			_split lang_${pkglang}
		}
	}"
}

_add_lang af		"Afrikaans"
_add_lang am		"Amharic"
_add_lang ar		"Arabic"
_add_lang as		"Assamese"
_add_lang ast		"Asturian"
_add_lang be		"Belarusian"
_add_lang bg		"Bulgarian"
_add_lang bn		"Bengali"
_add_lang bn-IN		"Bengali (India)" bn_IN
_add_lang bo		"Tibetan"
_add_lang br		"Breton"
_add_lang brx		"Bodo"
_add_lang bs		"Bosnian"
_add_lang ca		"Catalan"
_add_lang ca-valencia	"Catalan (Valencian)" ca_valencia
_add_lang cs		"Czech"
_add_lang cy		"Welsh (Cymraeg)"
_add_lang da		"Danish"
_add_lang de		"German"
_add_lang dgo		"Dogri proper"
_add_lang dz		"Dzongkha"
_add_lang el		"Greek"
_add_lang en-GB		"English (UK)" en_GB
_add_lang en-US		"English (US)" en_US
_add_lang en-ZA		"English (South Africa)" en_ZA
_add_lang eo		"Esperanto"
_add_lang es		"Spanish"
_add_lang et		"Estonian"
_add_lang eu		"Basque"
_add_lang fa		"Persian (Farsi)"
_add_lang fi		"Finnish"
_add_lang fr		"French"
_add_lang ga		"Irish"
_add_lang gd		"Scottish Gaelic"
_add_lang gl		"Galician"
_add_lang gu		"Gujarati"
_add_lang gug		"GuaranÃ­ (Paraguay)"
_add_lang he		"Hebrew"
_add_lang hi		"Hindi"
_add_lang hr		"Croatian"
_add_lang hu		"Hungarian"
_add_lang id		"Indonesian"
_add_lang is		"Icelandic"
_add_lang it		"Italian"
_add_lang ja		"Japanese"
_add_lang ka		"Georgian"
_add_lang kk		"Kazakh"
_add_lang km		"Khmer"
_add_lang kmr-Latn	"Kurmanji Kurdish (Latin)" kmr_Latn
_add_lang kn		"Kannada"
_add_lang ko		"Korean"
_add_lang kok		"Konkani"
_add_lang ks		"Kashmiri"
_add_lang lb		"Luxembourgish"
_add_lang lo		"Lao"
_add_lang lt		"Lithuanian"
_add_lang lv		"Latvian"
_add_lang mai		"Maithili"
_add_lang mk		"Macedonian"
_add_lang ml		"Malayalam"
_add_lang mn		"Mongolian"
_add_lang mni		"Meithei (Manipuri)"
_add_lang mr		"Marathi"
_add_lang my		"Burmese"
_add_lang nb		"Norwegian (Bokmal)"
_add_lang ne		"Nepali"
_add_lang nl		"Dutch"
_add_lang nn		"Nynorsk"
_add_lang nr		"Ndebele (South)"
_add_lang nso		"Northern Sotho"
_add_lang oc		"Occitan"
_add_lang om		"Oromo"
_add_lang or		"Oriya"
_add_lang pa-IN		"Punjabi (India)" pa_IN
_add_lang pl		"Polish"
_add_lang pt		"Portuguese"
_add_lang pt-BR		"Portuguese (Brazil)" pt_BR
_add_lang ro		"Romanian"
_add_lang ru		"Russian"
_add_lang rw		"Kinyarwanda"
_add_lang sa-IN		"Sanskrit (India)" sa_IN
_add_lang sat		"Santali"
_add_lang sd		"Sindhi"
_add_lang si		"Sinhala"
_add_lang sid		"Sidamo"
_add_lang sk		"Slovak"
_add_lang sl		"Slovenian"
_add_lang sq		"Albanian"
_add_lang sr		"Serbian"
_add_lang sr-Latn	"Serbian (Latin)" sr_Latn
_add_lang ss		"Swati"
_add_lang st		"Southern Sotho"
_add_lang sv		"Swedish"
_add_lang sw-TZ		"Swahili (Tanzania)" sw_TZ
_add_lang ta		"Tamil"
_add_lang te		"Telugu"
_add_lang tg		"Tajik"
_add_lang th		"Thai"
_add_lang tn		"Tswana"
_add_lang tr		"Turkish"
_add_lang ts		"Tsonga"
_add_lang tt		"Tatar"
_add_lang ug		"Uyghur"
_add_lang uk		"Ukrainian"
_add_lang uz		"Uzbek"
_add_lang ve		"Venda"
_add_lang vi		"Vietnamese"
_add_lang xh		"Xhosa"
_add_lang zh-CN		"Simplified Chinese (Peoples Republic of China)" zh_CN
_add_lang zh-TW		"Traditional Chinese (Taiwan)" zh_TW
_add_lang zu		"Zulu"

post_fetch() {
	local srcdistdir=${XBPS_SRCDISTDIR}/${pkgname}-${version} pkg
	mkdir -p ${wrksrc}/external/tarballs
	for pkg in ${skip_extraction}; do
		if [ "${pkg%.dll}" != "${pkg}" ]; then
			# The dll needs to be copied instead of symlinked
			cp -v ${srcdistdir}/${pkg} ${wrksrc}/external/tarballs/
		else
			# ... the other files can be symlinked
			ln -svf ${srcdistdir}/${pkg} ${wrksrc}/external/tarballs/
		fi
	done
}

do_configure() {
	local opts

	sed -i bin/distro-install-desktop-integration \
		-e "/gzip -f/d" \
		-e "s|.1.gz|.1|g"
	chmod +x bin/unpack-sources

	# Add musl patch for firebird
	mkdir -p external/firebird
	cp ${FILESDIR}/musl-os_utils_h.patch external/firebird/
	sed -i external/firebird/UnpackedTarball_firebird.mk \
		-e's;\(.*external/firebird\)/libc++.patch\(.*\)$;\1/libc++.patch\2\n\1/musl-os_utils_h.patch\2;'


	case "$XBPS_TARGET_MACHINE" in
		i686*)	# Don't run broken tests
			sed -i "/CppunitTest_sw_ooxmlexport9/d" sw/Module_sw.mk
			sed -i "/CPPUNIT_TEST(testTdf111798);/d" sd/qa/unit/export-tests-ooxml2.cxx
			;;
	esac

	# Separate autogen.sh and configure because we need
	# to patch configure for musl support
	NOCONFIGURE=1 ./autogen.sh

	# Add linux-musl* as host OS to lines containing linux-gnu*
	sed -i configure -e 's;linux-gnu\*;linux-gnu*|linux-musl*;g'

	# standard options
	opts="--prefix=/usr"
	opts+=" --sysconfdir=/etc"
	opts+=" --sbindir=/usr/bin"
	opts+=" --bindir=/usr/bin"
	opts+=" --mandir=/usr/share/man"
	opts+=" --infodir=/usr/share/info"
	opts+=" --localstatedir=/var"
	# libreoffice options
	opts+=" --with-vendor='VoidLinux'"
	opts+=" --with-help"
	opts+=" --with-alloc=system"
	opts+=" --disable-odk"
	opts+=" --disable-online-update"
	opts+=" --enable-python=system"
	opts+=" --enable-gtk3"
	opts+=" --enable-vlc"
	opts+=" --disable-dependency-tracking"
	opts+=" --enable-release-build"
	opts+=" --enable-split-app-modules"
	opts+=" --disable-dconf"
	# New strategy: enable all libs and headers, then disable what's missing
	opts+=" --with-system-libs"
	opts+=" --with-system-headers"
	case "$XBPS_TARGET_MACHINE" in
	i686*|*-musl)
		# Can't use system clucence
		opts+=" --without-system-clucene"
		;;
	x86_64)	# opts+=" --enable-ext-mariadb-connector"
		opts+=" --enable-ext-ct2n"
		opts+=" --enable-ext-numbertext"
		opts+=" --enable-ext-nlpsolver"
		# opts+=" --enable-ext-languagetool"
		;;
	esac

	if [ "$build_option_java" ]; then
		opts+=" --with-java"
		opts+=" --with-jdk-home=/usr/lib/jvm/openjdk"
		opts+=" --without-junit"
	else
		opts+=" --without-java"
	fi
	opts+=" --with-tls=nss"
	# xmlsec1-nss is missing, thus don't use system-xmlsec
	opts+=" --without-system-xmlsec"
	opts+=" --without-system-firebird"
	opts+=" --without-system-libzmf"
	opts+=" --without-system-libstaroffice"
	opts+=" --without-system-mysql-cppconn"
	opts+=" --without-system-libtommath"
	opts+=" --without-system-jfreereport"
	opts+=" --without-system-apache-commons"
	opts+=" --without-system-beanshell"
	# opts+=" --without-system-glm"
	opts+=" --with-myspell-dicts"
	opts+=" --with-system-icu-for-build=yes"
	opts+=" --with-external-dict-dir=${XBPS_CROSS_BASE}/usr/share/hunspell"
	opts+=" --with-external-hyph-dir=${XBPS_CROSS_BASE}/usr/share/hyphen"
	opts+=" --with-external-thes-dir=${XBPS_CROSS_BASE}/usr/share/mythes"
	opts+=" --with-parallelism=${XBPS_MAKEJOBS}"

	./configure ${opts} --with-lang="${_languages}"

	# Disable slowchecks target
	sed -i Makefile -e "/gb_Top_MODULE_CHECK_TARGETS /s/ slowchecks//"
}

do_build() {
	make ${makejobs} ${make_build_args}
	make ${makejobs} -C libreofficekit
}

do_install() {
	make DESTDIR="${DESTDIR}/all" PREFIXDIR=/usr distro-pack-install

	# Remove useless directory usr/lib32
	rm -rf ${DESTDIR}/usr/lib32
}

libreoffice-common_package() {
	short_desc+=" - Common files"
	depends="hunspell hyphen mythes openldap"
	pkg_install() {
		_split common
	}
}

libreoffice-base_package() {
	short_desc+=" - Database frontend"
	depends="libreoffice-common>=${version}_${revision}"
	noverifyrdeps=yes
	pkg_install() {
		_split base
	}
}

libreoffice-calc_package() {
	short_desc+=" - Spreadsheet"
	depends="libreoffice-common>=${version}_${revision}"
	noverifyrdeps=yes
	pkg_install() {
		_split calc
	}
}

libreoffice-draw_package() {
	short_desc+=" - Drawing application"
	depends="sane libreoffice-common>=${version}_${revision}"
	noverifyrdeps=yes
	pkg_install() {
		_split draw
	}
}

libreoffice-firebird_package() {
	short_desc+=" - Connector for Firebird SDBC"
	noverifyrdeps=yes
	pkg_install() {
		vmkdir usr/lib/libreoffice/program
		for f in libEngine12.so libfbclient.so.2 libfirebird_sdbclo.so; do
			mv ${DESTDIR}/all/usr/lib/libreoffice/program/${f} \
				${PKGDESTDIR}/usr/lib/libreoffice/program/
		done
		vmkdir usr/lib/libreoffice/share
		mv ${DESTDIR}/all/usr/lib/libreoffice/share/firebird \
			${PKGDESTDIR}/usr/lib/libreoffice/share/
	}
}

libreoffice-fonts_package() {
	short_desc+=" - Fonts"
	noarch=yes
	pkg_install() {
		vmkdir usr/lib/libreoffice/share
		mv ${DESTDIR}/all/usr/lib/libreoffice/share/fonts \
			${PKGDESTDIR}/usr/lib/libreoffice/share/
	}
}

libreoffice-gnome_package() {
	short_desc+=" - GNOME integration"
	depends="libreoffice-common>=${version}_${revision}"
	noverifyrdeps=yes
	pkg_install() {
		_split gnome
	}
}

libreoffice-impress_package() {
	short_desc+=" - Presentation application"
	depends="libreoffice-common>=${version}_${revision}"
	noverifyrdeps=yes
	pkg_install() {
		_split impress
	}
}

libreoffice-kit_package() {
	short_desc+=" - development files"
	pkg_install() {
		vmkdir usr/include
		vcopy ${wrksrc}/include/LibreOfficeKit usr/include
	}
}

libreoffice-math_package() {
	short_desc+=" - Equation editor"
	depends="libreoffice-common>=${version}_${revision}"
	noverifyrdeps=yes
	pkg_install() {
		_split math
	}
}

libreoffice-postgresql_package() {
	short_desc+=" - Connector for PostgreSQL"
	depends="libreoffice-base>=${version}_${revision} libreoffice-common>=${version}_${revision}"
	noverifyrdeps=yes
	pkg_install() {
		_split postgresql
	}
}

libreoffice-writer_package() {
	short_desc+=" - Word processor"
	depends="libreoffice-common>=${version}_${revision}"
	noverifyrdeps=yes
	pkg_install() {
		_split writer
	}
}

# Use a name which makes this catch-all subpackage the last one
libreoffice-xtensions_package() {
	short_desc+=" - Extensions"
	depends="libreoffice-common>=${version}_${revision}"
	noverifyrdeps=yes
	pkg_install() {
		# Remove empty files
		find ${DESTDIR}/all -size 0 -delete
		# Remove useless files
		for f in segments.gen segments_3 _0.cfs help.tree help.key_ help.db_; do
			find ${DESTDIR}/all -name "${f}" -delete
		done
		# Move the remaining files to this subpackage
		vmkdir usr
		mv -v ${DESTDIR}/all/usr/* ${PKGDESTDIR}/usr/
		rm -rvf ${DESTDIR}/all
	}
}
