summaryrefslogtreecommitdiff
path: root/user/libreoffice/APKBUILD
blob: b46c09ed064f1b3166176626a75b586cd83d11e9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
# 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
0d325827209d27488d433239680b6c8fa7eee3df7c95091d8558ee928ba17454f56e13697b41afa4e38e5b9d70cd15089e6e7150feaa35cf1f0aa3993290e892  boost.patch"