summaryrefslogtreecommitdiff
path: root/community/libreoffice/APKBUILD
blob: 8be8e8eb12b66bd41345109a8037f5b279c60e32 (plain)
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
# Contributor: Jens Staal <staal1978@gmail.com>
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=libreoffice
pkgver=5.4.2.2
pkgrel=1
pkgdesc="LibreOffice - Meta package for the full office suite"
url="http://www.libreoffice.org/"
arch="all"
license="MPL2"
depends_dev="cups-dev libjpeg-turbo-dev boost-dev clucene-dev libe-book-dev icu-dev icu
	libetonyek-dev libwpd-dev libwpg-dev libmspub-dev libmwaw-dev libpagemaker-dev
	libvisio-dev libcmis-dev lcms2-dev cppunit-dev freetype-dev libabw-dev libwps-dev
	libxslt-dev postgresql-dev mdds-dev glm-dev glu-dev glew-dev vigra-dev
	unixodbc-dev openldap-dev libressl-dev nss-dev npapi-sdk hunspell-dev
	libxrender-dev libxrandr-dev neon-dev apr-dev redland-dev libexttextcat-dev
	gconf-dev bluez-dev gstreamer-dev gst-plugins-base-dev gtk+3.0-dev
	poppler-dev cairo-dev hyphen-dev mythes-dev python3-dev harfbuzz-dev
	libfreehand-dev libodfgen-dev libcdr-dev libzmf-dev libstaroffice-dev
	liborcus-dev openjdk8 apache-ant junit xmlsec-dev gpgme-dev"
makedepends="$depends_dev autoconf automake tar coreutils findutils ucpp gperf
	bison flex zip perl perl-archive-zip sed tar libxml2-utils doxygen paxmark"
# GNU sed is needed for in i18npool/CustomTarget_localedata.mk
install=""
subpackages="$pkgname-base $pkgname-calc $pkgname-common $pkgname-draw
	$pkgname-gnome $pkgname-impress $pkgname-math $pkgname-connector-postgres $pkgname-writer
	$pkgname-sdk $pkgname-sdk-doc:sdk_doc libreofficekit"
depends="$pkgname-base $pkgname-calc $pkgname-common $pkgname-draw $pkgname-impress $pkgname-math
	$pkgname-connector-postgres $pkgname-writer libreofficekit"
_addsrcurl="http://dev-www.libreoffice.org/src"
case $pkgver in
*.*.*.*) _v=${pkgver%.*};;
*.*.*) _v=$pkgver;;
esac

# grep LIBXMLSEC_TARBALL download.lst
source="http://download.documentfoundation.org/libreoffice/src/${_v}/libreoffice-$pkgver.tar.xz
	http://download.documentfoundation.org/libreoffice/src/${_v}/libreoffice-dictionaries-$pkgver.tar.xz
	http://download.documentfoundation.org/libreoffice/src/${_v}/libreoffice-translations-$pkgver.tar.xz
	$_addsrcurl/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
	$_addsrcurl/commons-logging-1.2-src.tar.gz
	$_addsrcurl/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip
	$_addsrcurl/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
	$_addsrcurl/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
	$_addsrcurl/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
	$_addsrcurl/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
	$_addsrcurl/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
	$_addsrcurl/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
	$_addsrcurl/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
	$_addsrcurl/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
	$_addsrcurl/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
	$_addsrcurl/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
	$_addsrcurl/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
	$_addsrcurl/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
	$_addsrcurl/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
	$_addsrcurl/pdfium-3064.tar.bz2
	http://dev-www.libreoffice.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll

	linux-musl.patch
	fix-execinfo.patch
	fix-includes.patch
	"

languages=""
add_lang() {
	local pkglang="${3:-$1}"
	subpackages="$subpackages $pkgname-lang-${1}:_lang_${1}"
	languages="$languages ${pkglang/_/-}"
	eval "_lang_$1() { pkgdesc=\"LibreOffice - $2 language pack\"; depends=\"\"; _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)"
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"


# help abuild find shared objects in rpath
ldpath="/usr/lib/libreoffice/program:/usr/lib/libreoffice/ure/lib/"

builddir="$srcdir"/libreoffice-$pkgver
unpack() {
	if [ -z "$force" ]; then
		verify
		initdcheck
	fi
	mkdir -p "$srcdir"
	msg "Unpacking sources..."

	local u
	for u in $source; do
		local s="$SRCDEST/$(filename_from_uri $u)"
		case $s in
		*/libreoffice-*.tar.xz)
			msg "Unpacking $s..."
			unxz -c "$s" | tar -C "$srcdir" -x || return 1;;
		esac
	done
}

prepare() {
	cd "$builddir"
	default_prepare
	NOCONFIGURE=1 ./autogen.sh
}

build() {
	cd "$builddir"
	# boost-1.59
	export CPPFLAGS="$CPPFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--with-vendor="Alpine Linux" \
		--disable-online-update \
		--disable-fetch-external \
		--disable-dependency-tracking \
		--enable-release-build \
		--enable-split-app-modules \
		--enable-python=system \
		--with-alloc=system \
		--with-tls=nss \
		--with-system-libs \
		--with-system-dicts \
		--with-system-ucpp \
		--with-external-dict-dir=/usr/share/hunspell \
		--with-external-hyph-dir=/usr/share/hyphen \
		--with-external-tar="$srcdir" \
		--with-lang="$languages" \
		--with-jdk-home="/usr/lib/jvm/default-jvm" \
		--with-ant-home="/usr/share/java/apache-ant" \
		--without-system-jars \
		--without-junit \
		--without-fonts \
		--without-system-sane \
		--without-myspell-dicts \
		--disable-firebird-sdbc \
		--disable-graphite \
		--disable-coinmp \
		--disable-lpsolve \
		--disable-gltf \
		--disable-liblangtag \
		--disable-gtk \
		--enable-gtk3 \
		|| return 1
	# 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
	# build libreofficekit
	cd libreofficekit && make
}

package() {
	cd "$builddir"
	make DESTDIR="$pkgdir"/../all distro-pack-install
}

_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"/../all/"$i" "$subpkgdir"/"$i"
	done
}

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

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

common() {
	pkgdesc="LibreOffice - Common files"
	depends="libreoffice-lang-en_us"
	_split common
	paxmark -m \
		"$subpkgdir"/usr/lib/libreoffice/program/soffice.bin \
		"$subpkgdir"/usr/lib/libreoffice/program/unopkg.bin
}

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

gnome() {
	pkgdesc="LibreOffice - GNOME integration"
	depends="libreoffice-common"
	_split gnome
}

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

libreofficekit() {
	mkdir -p "$subpkgdir"/usr/include
	cp -a "$builddir"/include/LibreOfficeKit "$subpkgdir"/usr/include
}

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
}

sdk() {
	pkgdesc="LibreOffice - SDK"
	depends="libreoffice-common"
	_split sdk
}

sdk_doc() {
	pkgdesc="LibreOffice - SDK documentation"
	depends="libreoffice-common"
	_split sdk_doc
}

sha512sums="37edf44b4b3c3e694f5b5915647f9555413c3fcc6d29f5f8d74806439b65ed90418905476d7b75ce58a032abb1f55cecf1ca74b63279666ca2af5f3ac95a645c  libreoffice-5.4.2.2.tar.xz
d0f29911400739a9524cac2389a74851a26ef58ce42b629e6f24772bead07312a9e03cd5b4ffcb78b15a942d22db03536c4c9861c9a89d5cc13a0ddd77f20479  libreoffice-dictionaries-5.4.2.2.tar.xz
bf5ecbf1a36f7390ce69826d9101613a9cc02e41895c2beeb194a9efa104b97ae73d2a337f385a95d9e498866275b3d849efc2bc3ec8d9ddcf5bc20ea1a891af  libreoffice-translations-5.4.2.2.tar.xz
a231eba4a1baca11766ef292ab45e302081115477fe23018652882923308856835cf8c9ecba61a5cf22543474ccef3136965d794a90c9e4e9e6dcc21f9af6e1a  17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
9f3761184950f2f13e85d8bc447709ab8be631dfd231b4f053f8147468db1bf71fb116ddba95e39f4afc4cf28c742e07d40c7a637f28004a60dc13935f9609f9  commons-logging-1.2-src.tar.gz
a04eca6a57807358bd4f8d017a2eeaa58403ef51fab11fc46ab089113a0ff5f66aaa793d3fc57b484334cbf51ed388a90d8d72d1e5819c8248cc0113ac928a77  beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip
a7c3044a0a7c67881f78eddc4b3faf05e29b20755a59cdbb9a0a49bd21be5aaa95d4ea5eaabdd6f005a421981fb7c55fee590d4c9592fe363ba27ae590652bd4  39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
9091d3628d9c75c068507537afc9e10bfb79c1abfd36ad697af3d592a1cc049ba6640f665bfc53cc520b6a26c21d70b0275106843444b441484c2178f2784743  eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
71164f5e052db4fc16d1eb6ceb66d2b483d4912d874e371399047761e1d82e95d14288be5a7952c40f0ce39366f0706e726720e6e7171a00ce7bb55632cbf10c  d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
17ba9d2c0376fb7326d53bb1e3796610176a1af426d1b9073b5f7cf06c93d865e585c495e75c52fb8e426d7c453e751356a9ca9a54dc821ddadb6c8160ed5ba6  97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
58c1aa3965bf3a5f5d0facb67a5e42cec04e3f74e59cd7348ea2a9f6d9cafdce5552677c6b6d9c4cf2b31f52751695f2e53b2cee658e5f2eacb1393534a53c0e  ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
9fe106bbdb55365f589246e5a0d10bbe9b35224132b66a1823dc6361633a67f2acc0e8c393dc7ed70d086858d16d242b8806b8b2184c98e3d20d0be85bed9c44  3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
8eaa9eed3bff16a16483d0754756c181089eb705ea34ded7f9f6db90a591cbce3f0551f28d097bd2f44de813cb818720c430e79e516939e0398b72bf4614f4cd  3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
12ab17a4db3f7c834b21e59ff6f6f6456630d8626db7fb908867b20204295d4fba8969e79a3694ca66cb24e9f0e5a0fa4b9d2d3f748691b7f93985f9e666ce5f  8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
c1a15ebbfe817ec79d4b3f1c97d096bf8511737d7d35d97302856ccfb3de14a1cd16bd31000415d9ab24bbd9ef770d37855cee4b819ff0e8fca2f2766920a114  f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
4476024e7f307617719714fbf0999409aa11d730bc316f833bb6627d1b83abb42460417be588c193ecb49d6b926dd1f411934d8a8abebe00a3e85c0047dad0a6  db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
654d2408c11349c90ae7d80b0c1997ee831004bc4ee36a706a0d8a84617fd0f82a97c5b45ab2388d60085afaec59a02eada007a8a1e14c3b366cabd36b7607ec  ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
ec5ae23c8fe2f5efc377f7a9665039afadf28b4d8f2791379296766a5fbc9a3bf7548f9b0e3b3b07762229ec733a92ccbb69791ee0318c9c6f78f8e847253d3f  798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
4a48f1e32907fb2dee601cda3cd7a0d7198b2d51f2a572b647f1e93f901fd511eef3567676e52dfb1723a2cdfbc01f2015ca0bb22903b0bc1476dd618cc9aa8a  35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
2cb6bdfd7391d7945869026c1b1a33361ad7117fcecb3eb51a43191b81a17d9a40e22ddda2a249ed633b7a4187052f60a5119652be54fbe73afe4874613db707  pdfium-3064.tar.bz2
854b8ae29b57b40ba6bb6ff66e723a0e8dad053fcc2849f0ad763cd8a31352f4aeba9636fd4e3f0f2a0cd985a6f49b4261b9ace68d6be821ed42cfa7a73eb13c  185d60944ea767075d27247c3162b3bc-unowinreg.dll
10a1ee056ebce41b2f6d3863b220f8529f70b7fd159ff2d36967ad96d9653166737db4ba865c10769c37afad553f59fb9629437c0d8a1afbbff963fc36dbbf1a  linux-musl.patch
4aa595588226ac2060ae78f4f857db1b148735429a47389f75313df61cabf0819ad2add15c09cae5c5ebbce64852589ca89932c72281ba662ab53dddec4e1336  fix-execinfo.patch
c9e0b05640d7d0e6053b8dd4735664d761a7d381c5b5cbda059fb7b38ab28531c014b6d38f58a0e1f7171a43d62f04d8ecbb7b6b008d0ad30017228ec7e6601a  fix-includes.patch"