aboutsummaryrefslogtreecommitdiffstats
path: root/community/libreoffice/APKBUILD
blob: fa7d1f55d453ef3552fea85b65e5d9bd1d3b701e (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
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer:
pkgname=libreoffice
pkgver=5.2.0.4
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 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 doxygen"
# 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

# 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/ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.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
	# 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 || 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="40ee24812d171238981599843ca9f5b6  libreoffice-5.2.0.4.tar.xz
6a30891f131323947db97de00b99e3a9  libreoffice-dictionaries-5.2.0.4.tar.xz
584877f514a723403c0344cc84a0bc59  libreoffice-translations-5.2.0.4.tar.xz
ce12af00283eb90d9281956524250d6e  ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz
bfde50b1b04c715cd172be03a204521f  linux-musl.patch
1cff63a520d1b037edddf1b4de4799dc  fix-execinfo.patch
c6fc4d38ef1bab69f3570a0d087b4c52  fix-includes.patch"
sha256sums="47de41b85f6bb084bd657cd4f56510997ae04d0e6c6342877ec160a7c45c6bec  libreoffice-5.2.0.4.tar.xz
2f08228c234382a8da732bef94043e2206c7bdef78f9b730fb1d3b05967e5b3f  libreoffice-dictionaries-5.2.0.4.tar.xz
a5d17109dbe8af2ab2d8a4dd2feda61e78826c73a48cb7e5b95387992ab66d28  libreoffice-translations-5.2.0.4.tar.xz
3221593ca50f362b546a0888a1431ad24be1470f96b2469c0e0df5e1c55e7305  ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz
fd0778cfd18b034a415a8966f7a3d8437c3f2ba1c6cfde8220ba663261b9c67f  linux-musl.patch
7171dfa651a7ee81b4e13a9fd9131428d9a65af138cac4cb428ae6c3e4bcb1f3  fix-execinfo.patch
51052d983eeea85d8d71385e4eeda61b6a8746854fe046b9a91e12c013d9ed89  fix-includes.patch"
sha512sums="43142bbde02b21538b5c49bb2baf973d8a2f7bdeb5fdc60630b1c1819c4f2f2acd8851b7a4e103cbb1d502e3c59b8fd9d9fc9b760c1b5991b931aac078cf5f6a  libreoffice-5.2.0.4.tar.xz
70d7aad21affa73665afde50619a1b0b92c8f67a7ba57cabc5ae3664c9fae8b8daa072564722180a469c4635059bfcefefb439920122fe3595ecd3a0639acedb  libreoffice-dictionaries-5.2.0.4.tar.xz
77c89603dda394a59e80776ac6e8d92bafb7961131dcefd2df262825cfc2052f0f152d46841cd925e7b417789c9096cc87d30e4ae60682f7f9c1c6b0f6a214f7  libreoffice-translations-5.2.0.4.tar.xz
2f8d473916abf9822367edbe857fc2e12dc9858d12e790d689d787e439904bd6a452bf631043aa66e7502457ab0815a473657f58fca17a213e2490f5655e5ae5  ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz
6abfd9c6cf1917e9ee89695086013c94f5ec68f9732ad60faeeaabe6f3765f5ff19df575a3ef0098d6dd6ba3c76369cec871770396f5cd84829031c3e38485a8  linux-musl.patch
567123f990c4a47c2e4cebf99f3486150740015e647ca2b2521e606f3350fc55ceda6c7ac031302da34e8fc90747d66619334fcfda4e7b8998456fe3619ab860  fix-execinfo.patch
c9e0b05640d7d0e6053b8dd4735664d761a7d381c5b5cbda059fb7b38ab28531c014b6d38f58a0e1f7171a43d62f04d8ecbb7b6b008d0ad30017228ec7e6601a  fix-includes.patch"