aboutsummaryrefslogtreecommitdiffstats
path: root/main/libreoffice/APKBUILD
blob: 679160f47fd09258becfb97e76e8210e81c344a0 (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
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer:
pkgname=libreoffice
pkgver=5.0.2.2
pkgrel=3
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 openssl-dev nss-dev npapi-sdk hunspell-dev
	libxrender-dev libxrandr-dev neon-dev apr-dev redland-dev libexttextcat-dev
	gconf-dev bluez-dev gstreamer1-dev gst-plugins-base1-dev gtk+2.0-dev
	poppler-dev cairo-dev hyphen-dev mythes-dev python3-dev harfbuzz-dev
	libfreehand-dev libodfgen-dev libcdr-dev"
makedepends="$depends_dev autoconf automake tar coreutils findutils ucpp gperf
	bison flex zip perl perl-archive-zip sed libxml2-utils"
# 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"
depends="$subpackages"
_addsrcurl="http://dev-www.libreoffice.org/src"
case $pkgver in
	*.*.*.*) _v=${pkgver%.*};;
	*.*.*) _v=$pkgver;;
esac
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/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
	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 en_us "English (US)" en_US
add_lang es "Spanish"
add_lang fi "Finnish"
add_lang pt "Portuguese"
add_lang pt_br "Portuguese (Brazil)" pt_BR
add_lang ru "Russian"
add_lang sv "Swedish"

# 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 || return 1
		initdcheck || return 1
	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() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done

	# https://bugs.documentfoundation.org/show_bug.cgi?id=78174
	# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64812
	# gcc 4.9.x -fvisibility-inlines-hidden is broken, force disable it for now
	sed -e 's/@HAVE_GCC_VISIBILITY_BROKEN@/TRUE/g' -i config_host.mk.in

	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 \
		--disable-crashdump \
		--enable-release-build \
		--enable-split-app-modules \
		--enable-verbose \
		--enable-python=system \
		--with-alloc=system \
		--with-tls=openssl \
		--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" \
		--without-java \
		--without-fonts \
		--without-system-sane \
		--without-myspell-dicts \
		--disable-firebird-sdbc \
		--disable-orcus \
		--disable-graphite \
		--disable-coinmp \
		--disable-lpsolve \
		--disable-gltf \
		--disable-liblangtag \
		|| return 1
	make build-nocheck || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir"/../all distro-pack-install || return 1
}

_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
}

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
}

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
}

md5sums="e3d129dd7a579b14984c9c1231e851a5  libreoffice-5.0.2.2.tar.xz
932002cc38faac0e18f1cf3720429479  libreoffice-dictionaries-5.0.2.2.tar.xz
5a4f0148a5cbe4c85be7e4e8c378fe61  libreoffice-translations-5.0.2.2.tar.xz
1f24ab1d39f4a51faf22244c94a6203f  1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
bfde50b1b04c715cd172be03a204521f  linux-musl.patch
1cff63a520d1b037edddf1b4de4799dc  fix-execinfo.patch
2410b3fef56a2163a0d3142330ecbcdc  fix-includes.patch"
sha256sums="01f0680709432039762fa608bcb1240786d2b6549099a96095aab92dcebbc176  libreoffice-5.0.2.2.tar.xz
3655c3beeda08d14293490b364ed65caa2ad0f706ab7e4c73c1d1d3374273dc4  libreoffice-dictionaries-5.0.2.2.tar.xz
905e2cfe673f23fb4f5501cfac1cf66894a77ff99d6abe9cd1cb8c80ce7f811b  libreoffice-translations-5.0.2.2.tar.xz
390a5085651828b8fe12aa978b200f59b9155eedbb91a4be89bf7cf39eefdd4a  1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
fd0778cfd18b034a415a8966f7a3d8437c3f2ba1c6cfde8220ba663261b9c67f  linux-musl.patch
7171dfa651a7ee81b4e13a9fd9131428d9a65af138cac4cb428ae6c3e4bcb1f3  fix-execinfo.patch
2044d4c997472a46e95c68fa8bec19c1424e9074fad05df9f1c0d220dec00281  fix-includes.patch"
sha512sums="7a72ed01b0f9fc131b7241ea4d1bb70bc813752e33d8e823e91a769d77308d2eec2d32a0fac61bdb41fd605a6f91dbaa3d5478a0b150e64fa9f7e47724f46cce  libreoffice-5.0.2.2.tar.xz
32c466e018b1bf5154aaf21ebe2eae68a9b83a80dddaab8b1f0f55f5b2f95600d1adea0865ad171ae973453971343b267e5256f4095ddef8b97deff3b9b0c010  libreoffice-dictionaries-5.0.2.2.tar.xz
e5a9474b78446c75a952e91905ac66b8d023694573f4a049d7121a63452f699b52ba2bc3fbf35df135b4031b45302cd48eae42872f52fc83863f6df6534e7ad4  libreoffice-translations-5.0.2.2.tar.xz
5664203e6426880041cdb227e91f79f00d2ca7ae28c6997f61b72cc599aac55838d082d2b2b551bd7a228424c350ddea5d41599b8ca58d444a2cd46c9206ea91  1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
6abfd9c6cf1917e9ee89695086013c94f5ec68f9732ad60faeeaabe6f3765f5ff19df575a3ef0098d6dd6ba3c76369cec871770396f5cd84829031c3e38485a8  linux-musl.patch
567123f990c4a47c2e4cebf99f3486150740015e647ca2b2521e606f3350fc55ceda6c7ac031302da34e8fc90747d66619334fcfda4e7b8998456fe3619ab860  fix-execinfo.patch
15defc8362fb0e53db32b75d9c4ece73e1ee8bd1cc05b4dd8f072f808e6943b385a5415513b237d3daa130dedce3c6ac6370e05ec0b4a25065ce27aadd269e92  fix-includes.patch"