1 |
scarabeus |
1.1 |
# Copyright 1999-2012 Gentoo Foundation |
2 |
|
|
# Distributed under the terms of the GNU General Public License v2 |
3 |
|
|
# $Header: /var/cvsroot/gentoo-x86/app-office/libreoffice/libreoffice-3.6.9999.ebuild,v 1.29 2012/09/24 08:26:04 scarabeus Exp $ |
4 |
|
|
|
5 |
|
|
EAPI=4 |
6 |
|
|
|
7 |
|
|
KDE_REQUIRED="optional" |
8 |
|
|
QT_MINIMAL="4.7.4" |
9 |
|
|
KDE_SCM="git" |
10 |
|
|
CMAKE_REQUIRED="never" |
11 |
|
|
|
12 |
|
|
PYTHON_DEPEND="2" |
13 |
|
|
PYTHON_USE_WITH="threads,xml" |
14 |
|
|
|
15 |
|
|
# experimental ; release ; old |
16 |
|
|
# Usually the tarballs are moved a lot so this should make |
17 |
|
|
# everyone happy. |
18 |
|
|
DEV_URI=" |
19 |
|
|
http://dev-builds.libreoffice.org/pre-releases/src |
20 |
|
|
http://download.documentfoundation.org/libreoffice/src/${PV:0:5}/ |
21 |
|
|
http://download.documentfoundation.org/libreoffice/old/${PV}/ |
22 |
|
|
" |
23 |
|
|
EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice" |
24 |
|
|
ADDONS_URI="http://dev-www.libreoffice.org/src/" |
25 |
|
|
|
26 |
|
|
BRANDING="${PN}-branding-gentoo-0.6.tar.xz" |
27 |
|
|
# PATCHSET="${P}-patchset-01.tar.xz" |
28 |
|
|
|
29 |
|
|
[[ ${PV} == *9999* ]] && SCM_ECLASS="git-2" |
30 |
|
|
inherit base autotools bash-completion-r1 check-reqs eutils java-pkg-opt-2 kde4-base pax-utils python multilib toolchain-funcs flag-o-matic ${SCM_ECLASS} |
31 |
|
|
unset SCM_ECLASS |
32 |
|
|
|
33 |
|
|
DESCRIPTION="LibreOffice, a full office productivity suite." |
34 |
|
|
HOMEPAGE="http://www.libreoffice.org" |
35 |
|
|
SRC_URI="branding? ( http://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )" |
36 |
|
|
[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentooexperimental.org/~scarabeus/${PATCHSET}" |
37 |
|
|
|
38 |
|
|
# Split modules following git/tarballs |
39 |
|
|
# Core MUST be first! |
40 |
|
|
# Help is used for the image generator |
41 |
|
|
MODULES="core binfilter help" |
42 |
|
|
# Only release has the tarballs |
43 |
|
|
if [[ ${PV} != *9999* ]]; then |
44 |
|
|
for i in ${DEV_URI}; do |
45 |
|
|
for mod in ${MODULES}; do |
46 |
|
|
if [[ ${mod} == binfilter ]]; then |
47 |
|
|
SRC_URI+=" binfilter? ( ${i}/${PN}-${mod}-${PV}.tar.xz )" |
48 |
|
|
else |
49 |
|
|
SRC_URI+=" ${i}/${PN}-${mod}-${PV}.tar.xz" |
50 |
|
|
fi |
51 |
|
|
done |
52 |
|
|
unset mod |
53 |
|
|
done |
54 |
|
|
unset i |
55 |
|
|
fi |
56 |
|
|
unset DEV_URI |
57 |
|
|
|
58 |
|
|
# Really required addons |
59 |
|
|
# These are bundles that can't be removed for now due to huge patchsets. |
60 |
|
|
# If you want them gone, patches are welcome. |
61 |
|
|
ADDONS_SRC+=" ${ADDONS_URI}/ea91f2fb4212a21d708aced277e6e85a-vigra1.4.0.tar.gz" |
62 |
|
|
ADDONS_SRC+=" ${ADDONS_URI}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz" # modifies source code |
63 |
|
|
ADDONS_SRC+=" java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )" |
64 |
|
|
ADDONS_SRC+=" java? ( ${ADDONS_URI}/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip )" |
65 |
|
|
ADDONS_SRC+=" libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )" # no release for 8 years, should we package it? |
66 |
|
|
ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )" # Does not build with 1.6 rhino at all |
67 |
|
|
ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )" # requirement of rhino |
68 |
|
|
ADDONS_SRC+=" odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )" # not packageable |
69 |
|
|
SRC_URI+=" ${ADDONS_SRC}" |
70 |
|
|
|
71 |
|
|
unset ADDONS_URI |
72 |
|
|
unset EXT_URI |
73 |
|
|
unset ADDONS_SRC |
74 |
|
|
|
75 |
|
|
IUSE="binfilter binfilterdebug +branding +cups dbus eds gnome gstreamer +gtk |
76 |
|
|
jemalloc kde mysql odk opengl postgres svg test +vba +webdav" |
77 |
|
|
|
78 |
|
|
LO_EXTS="nlpsolver pdfimport presenter-console presenter-minimizer scripting-beanshell scripting-javascript wiki-publisher" |
79 |
|
|
# Unpackaged separate extensions: |
80 |
|
|
# diagram: lo has 0.9.5 upstream is weirdly patched 0.9.4 -> wtf? |
81 |
|
|
# hunart: only on ooo extensions -> fubared download path somewhere on sf |
82 |
|
|
# numbertext, typo, validator, watch-window: ^^ |
83 |
|
|
# oooblogger: no homepage or anything |
84 |
|
|
# Extensions that need extra work: |
85 |
|
|
# report-builder: missing java packages |
86 |
|
|
for lo_xt in ${LO_EXTS}; do |
87 |
|
|
IUSE+=" libreoffice_extensions_${lo_xt}" |
88 |
|
|
done |
89 |
|
|
unset lo_xt |
90 |
|
|
|
91 |
|
|
LICENSE="|| ( LGPL-3 MPL-1.1 )" |
92 |
|
|
SLOT="0" |
93 |
|
|
[[ ${PV} == *9999* ]] || KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux" |
94 |
|
|
|
95 |
|
|
COMMON_DEPEND=" |
96 |
|
|
app-arch/zip |
97 |
|
|
app-arch/unzip |
98 |
|
|
>=app-text/hunspell-1.3.2-r3 |
99 |
|
|
app-text/mythes |
100 |
|
|
>=app-text/libexttextcat-3.2 |
101 |
|
|
app-text/libwpd:0.9[tools] |
102 |
|
|
app-text/libwpg:0.2 |
103 |
|
|
>=app-text/libwps-0.2.2 |
104 |
|
|
>=dev-cpp/clucene-2.3.3.4-r2 |
105 |
|
|
>=dev-cpp/libcmis-0.2:0.2 |
106 |
|
|
dev-db/unixODBC |
107 |
|
|
dev-libs/expat |
108 |
|
|
>=dev-libs/glib-2.28 |
109 |
|
|
>=dev-libs/hyphen-2.7.1 |
110 |
|
|
>=dev-libs/icu-4.8.1.1 |
111 |
|
|
>=dev-libs/nspr-4.8.8 |
112 |
|
|
>=dev-libs/nss-3.12.9 |
113 |
|
|
>=dev-lang/perl-5.0 |
114 |
|
|
>=dev-libs/openssl-1.0.0d |
115 |
|
|
>=dev-libs/redland-1.0.14[ssl] |
116 |
|
|
media-gfx/graphite2 |
117 |
|
|
>=media-libs/fontconfig-2.8.0 |
118 |
|
|
media-libs/freetype:2 |
119 |
|
|
media-libs/lcms:2 |
120 |
|
|
>=media-libs/libpng-1.4 |
121 |
|
|
>=media-libs/libcdr-0.0.5 |
122 |
|
|
media-libs/libvisio |
123 |
|
|
>=net-misc/curl-7.21.4 |
124 |
|
|
sci-mathematics/lpsolve |
125 |
|
|
>=sys-libs/db-4.8 |
126 |
|
|
virtual/jpeg |
127 |
|
|
>=x11-libs/cairo-1.10.0[X] |
128 |
|
|
x11-libs/libXinerama |
129 |
|
|
x11-libs/libXrandr |
130 |
|
|
x11-libs/libXrender |
131 |
|
|
cups? ( net-print/cups ) |
132 |
|
|
dbus? ( >=dev-libs/dbus-glib-0.92 ) |
133 |
|
|
eds? ( gnome-extra/evolution-data-server ) |
134 |
|
|
gnome? ( gnome-base/gconf:2 ) |
135 |
|
|
gtk? ( |
136 |
|
|
x11-libs/gdk-pixbuf[X] |
137 |
|
|
>=x11-libs/gtk+-2.24:2 |
138 |
|
|
) |
139 |
|
|
gstreamer? ( |
140 |
|
|
>=media-libs/gstreamer-0.10 |
141 |
|
|
>=media-libs/gst-plugins-base-0.10 |
142 |
|
|
) |
143 |
|
|
jemalloc? ( dev-libs/jemalloc ) |
144 |
|
|
libreoffice_extensions_pdfimport? ( >=app-text/poppler-0.16[xpdf-headers(+),cxx] ) |
145 |
|
|
libreoffice_extensions_scripting-beanshell? ( >=dev-java/bsh-2.0_beta4 ) |
146 |
|
|
libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 ) |
147 |
|
|
libreoffice_extensions_wiki-publisher? ( |
148 |
|
|
dev-java/commons-codec:0 |
149 |
|
|
dev-java/commons-httpclient:3 |
150 |
|
|
dev-java/commons-lang:2.1 |
151 |
|
|
dev-java/commons-logging:0 |
152 |
|
|
dev-java/tomcat-servlet-api:3.0 |
153 |
|
|
) |
154 |
|
|
mysql? ( >=dev-db/mysql-connector-c++-1.1.0 ) |
155 |
|
|
opengl? ( |
156 |
|
|
virtual/glu |
157 |
|
|
virtual/opengl |
158 |
|
|
) |
159 |
|
|
postgres? ( >=dev-db/postgresql-base-9.0[kerberos] ) |
160 |
|
|
svg? ( gnome-base/librsvg ) |
161 |
|
|
webdav? ( net-libs/neon ) |
162 |
|
|
" |
163 |
|
|
|
164 |
|
|
RDEPEND="${COMMON_DEPEND} |
165 |
|
|
!app-office/libreoffice-bin |
166 |
|
|
!app-office/libreoffice-bin-debug |
167 |
|
|
!<app-openoffice/openoffice-bin-3.4.0-r1 |
168 |
|
|
!app-office/openoffice |
169 |
|
|
media-fonts/libertine-ttf |
170 |
|
|
media-fonts/liberation-fonts |
171 |
|
|
media-fonts/urw-fonts |
172 |
|
|
java? ( >=virtual/jre-1.6 ) |
173 |
|
|
" |
174 |
|
|
|
175 |
|
|
PDEPEND=" |
176 |
|
|
=app-office/libreoffice-l10n-3.6* |
177 |
|
|
" |
178 |
|
|
|
179 |
|
|
# FIXME: cppunit should be moved to test conditional |
180 |
|
|
# after everything upstream is under gbuild |
181 |
|
|
# as dmake execute tests right away |
182 |
|
|
DEPEND="${COMMON_DEPEND} |
183 |
|
|
>=dev-libs/boost-1.46 |
184 |
|
|
>=dev-libs/libxml2-2.7.8 |
185 |
|
|
dev-libs/libxslt |
186 |
|
|
dev-perl/Archive-Zip |
187 |
|
|
dev-util/cppunit |
188 |
|
|
>=dev-util/gperf-3 |
189 |
|
|
dev-util/intltool |
190 |
|
|
dev-util/mdds |
191 |
|
|
virtual/pkgconfig |
192 |
|
|
net-misc/npapi-sdk |
193 |
|
|
>=sys-apps/findutils-4.4.2 |
194 |
|
|
sys-devel/bison |
195 |
|
|
sys-apps/coreutils |
196 |
|
|
sys-devel/flex |
197 |
|
|
sys-devel/gettext |
198 |
|
|
>=sys-devel/make-3.82 |
199 |
|
|
sys-libs/zlib |
200 |
|
|
x11-libs/libXt |
201 |
|
|
x11-libs/libXtst |
202 |
|
|
x11-proto/randrproto |
203 |
|
|
x11-proto/xextproto |
204 |
|
|
x11-proto/xineramaproto |
205 |
|
|
x11-proto/xproto |
206 |
|
|
java? ( |
207 |
|
|
>=virtual/jdk-1.6 |
208 |
|
|
>=dev-java/ant-core-1.7 |
209 |
|
|
test? ( dev-java/junit:4 ) |
210 |
|
|
) |
211 |
|
|
odk? ( app-doc/doxygen ) |
212 |
|
|
test? ( dev-util/cppunit ) |
213 |
|
|
" |
214 |
|
|
|
215 |
|
|
PATCHES=( |
216 |
|
|
# not upstreamable stuff |
217 |
|
|
"${FILESDIR}/${PN}-3.6-system-pyuno.patch" |
218 |
|
|
"${FILESDIR}/${PN}-3.6-separate-checks.patch" |
219 |
|
|
"${FILESDIR}/${P}-fix-poppler.patch" |
220 |
|
|
) |
221 |
|
|
|
222 |
|
|
REQUIRED_USE=" |
223 |
|
|
gnome? ( gtk ) |
224 |
|
|
eds? ( gnome ) |
225 |
|
|
libreoffice_extensions_nlpsolver? ( java ) |
226 |
|
|
libreoffice_extensions_scripting-beanshell? ( java ) |
227 |
|
|
libreoffice_extensions_scripting-javascript? ( java ) |
228 |
|
|
libreoffice_extensions_wiki-publisher? ( java ) |
229 |
|
|
" |
230 |
|
|
|
231 |
|
|
S="${WORKDIR}/${PN}-core-${PV}" |
232 |
|
|
|
233 |
|
|
CHECKREQS_MEMORY="512M" |
234 |
|
|
CHECKREQS_DISK_BUILD="6G" |
235 |
|
|
|
236 |
|
|
pkg_pretend() { |
237 |
|
|
local pgslot |
238 |
|
|
|
239 |
|
|
if [[ ${MERGE_TYPE} != binary ]]; then |
240 |
|
|
check-reqs_pkg_pretend |
241 |
|
|
|
242 |
|
|
if [[ $(gcc-major-version) -lt 4 ]] || \ |
243 |
|
|
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 5 ]] ) \ |
244 |
|
|
; then |
245 |
|
|
eerror "Compilation with gcc older than 4.5 is not supported" |
246 |
|
|
die "Too old gcc found." |
247 |
|
|
fi |
248 |
|
|
fi |
249 |
|
|
|
250 |
|
|
# ensure pg version |
251 |
|
|
if use postgres; then |
252 |
|
|
pgslot=$(postgresql-config show) |
253 |
|
|
if [[ ${pgslot//.} < 90 ]] ; then |
254 |
|
|
eerror "PostgreSQL slot must be set to 9.0 or higher." |
255 |
|
|
eerror " postgresql-config set 9.0" |
256 |
|
|
die "PostgreSQL slot is not set to 9.0 or higher." |
257 |
|
|
fi |
258 |
|
|
fi |
259 |
|
|
} |
260 |
|
|
|
261 |
|
|
pkg_setup() { |
262 |
|
|
java-pkg-opt-2_pkg_setup |
263 |
|
|
kde4-base_pkg_setup |
264 |
|
|
|
265 |
|
|
python_set_active_version 2 |
266 |
|
|
python_pkg_setup |
267 |
|
|
|
268 |
|
|
[[ ${MERGE_TYPE} != binary ]] && check-reqs_pkg_setup |
269 |
|
|
} |
270 |
|
|
|
271 |
|
|
src_unpack() { |
272 |
|
|
local mod dest tmplfile tmplname mypv |
273 |
|
|
|
274 |
|
|
[[ -n ${PATCHSET} ]] && unpack ${PATCHSET} |
275 |
|
|
if use branding; then |
276 |
|
|
unpack "${BRANDING}" |
277 |
|
|
fi |
278 |
|
|
|
279 |
|
|
if [[ ${PV} != *9999* ]]; then |
280 |
|
|
for mod in ${MODULES}; do |
281 |
|
|
if [[ ${mod} == binfilter ]] && ! use binfilter; then |
282 |
|
|
continue |
283 |
|
|
fi |
284 |
|
|
unpack "${PN}-${mod}-${PV}.tar.xz" |
285 |
|
|
if [[ ${mod} != core ]]; then |
286 |
|
|
mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}" |
287 |
|
|
rm -rf "${WORKDIR}/${PN}-${mod}-${PV}" |
288 |
|
|
fi |
289 |
|
|
done |
290 |
|
|
else |
291 |
|
|
for mod in ${MODULES}; do |
292 |
|
|
if [[ ${mod} == binfilter ]] && ! use binfilter; then |
293 |
|
|
continue |
294 |
|
|
fi |
295 |
|
|
mypv=${PV/.9999} |
296 |
|
|
[[ ${mypv} != ${PV} ]] && EGIT_BRANCH="${PN}-${mypv/./-}" |
297 |
|
|
EGIT_PROJECT="${PN}/${mod}" |
298 |
|
|
EGIT_SOURCEDIR="${WORKDIR}/${PN}-${mod}-${PV}" |
299 |
|
|
EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}/${mod}" |
300 |
|
|
EGIT_NOUNPACK="true" |
301 |
|
|
git-2_src_unpack |
302 |
|
|
if [[ ${mod} != core ]]; then |
303 |
|
|
mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}" |
304 |
|
|
rm -rf "${WORKDIR}/${PN}-${mod}-${PV}" |
305 |
|
|
fi |
306 |
|
|
done |
307 |
|
|
unset EGIT_PROJECT EGIT_SOURCEDIR EGIT_REPO_URI EGIT_BRANCH |
308 |
|
|
fi |
309 |
|
|
} |
310 |
|
|
|
311 |
|
|
src_prepare() { |
312 |
|
|
# optimization flags |
313 |
|
|
export ARCH_FLAGS="${CXXFLAGS}" |
314 |
|
|
export LINKFLAGSOPTIMIZE="${LDFLAGS}" |
315 |
|
|
export GMAKE_OPTIONS="${MAKEOPTS}" |
316 |
|
|
|
317 |
|
|
# patchset |
318 |
|
|
if [[ -n ${PATCHSET} ]]; then |
319 |
|
|
EPATCH_FORCE="yes" \ |
320 |
|
|
EPATCH_SOURCE="${WORKDIR}/${PATCHSET/.tar.xz/}" \ |
321 |
|
|
EPATCH_SUFFIX="patch" \ |
322 |
|
|
epatch |
323 |
|
|
fi |
324 |
|
|
|
325 |
|
|
base_src_prepare |
326 |
|
|
|
327 |
|
|
# please no debug in binfilter, it blows up things insanely |
328 |
|
|
if use binfilter && ! use binfilterdebug ; then |
329 |
|
|
for name in $(find "${S}/binfilter" -name makefile.mk) ; do |
330 |
|
|
sed -i -e '1i\CFLAGS+= -g0' $name || die |
331 |
|
|
done |
332 |
|
|
fi |
333 |
|
|
|
334 |
|
|
AT_M4DIR="m4" |
335 |
|
|
eautoreconf |
336 |
|
|
# hack in the autogen.sh |
337 |
|
|
touch autogen.lastrun |
338 |
|
|
|
339 |
|
|
# system pyuno mess |
340 |
|
|
sed \ |
341 |
|
|
-e "s:%eprefix%:${EPREFIX}:g" \ |
342 |
|
|
-e "s:%libdir%:$(get_libdir):g" \ |
343 |
|
|
-i pyuno/source/module/uno.py \ |
344 |
|
|
-i scripting/source/pyprov/officehelper.py || die |
345 |
|
|
} |
346 |
|
|
|
347 |
|
|
src_configure() { |
348 |
|
|
local java_opts |
349 |
|
|
local internal_libs |
350 |
|
|
local lo_ext |
351 |
|
|
local ext_opts |
352 |
|
|
local jbs=$(sed -ne 's/.*\(-j[[:space:]]*\|--jobs=\)\([[:digit:]]\+\).*/\2/;T;p' <<< "${MAKEOPTS}") |
353 |
|
|
|
354 |
|
|
# recheck that there is some value in jobs |
355 |
|
|
[[ -z ${jbs} ]] && jbs="1" |
356 |
|
|
|
357 |
|
|
# sane: just sane.h header that is used for scan in writer, not |
358 |
|
|
# linked or anything else, worthless to depend on |
359 |
|
|
# vigra: just uses templates from there |
360 |
|
|
# it is serious pain in the ass for packaging |
361 |
|
|
# should be replaced by boost::gil if someone interested |
362 |
|
|
internal_libs+=" |
363 |
|
|
--without-system-sane |
364 |
|
|
--without-system-vigra |
365 |
|
|
" |
366 |
|
|
|
367 |
|
|
# libreoffice extensions handling |
368 |
|
|
for lo_xt in ${LO_EXTS}; do |
369 |
|
|
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt})" |
370 |
|
|
done |
371 |
|
|
|
372 |
|
|
if use java; then |
373 |
|
|
# hsqldb: system one is too new |
374 |
|
|
# saxon: system one does not work properly |
375 |
|
|
java_opts=" |
376 |
|
|
--without-system-hsqldb |
377 |
|
|
--without-system-saxon |
378 |
|
|
--with-ant-home="${ANT_HOME}" |
379 |
|
|
--with-jdk-home=$(java-config --jdk-home 2>/dev/null) |
380 |
|
|
--with-java-target-version=$(java-pkg_get-target) |
381 |
|
|
--with-jvm-path="${EPREFIX}/usr/$(get_libdir)/" |
382 |
|
|
" |
383 |
|
|
|
384 |
|
|
use libreoffice_extensions_scripting-beanshell && \ |
385 |
|
|
java_opts+=" --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)" |
386 |
|
|
|
387 |
|
|
use libreoffice_extensions_scripting-javascript && \ |
388 |
|
|
java_opts+=" --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar)" |
389 |
|
|
|
390 |
|
|
if use libreoffice_extensions_wiki-publisher; then |
391 |
|
|
java_opts+=" |
392 |
|
|
--with-commons-codec-jar=$(java-pkg_getjar commons-codec commons-codec.jar) |
393 |
|
|
--with-commons-httpclient-jar=$(java-pkg_getjar commons-httpclient-3 commons-httpclient.jar) |
394 |
|
|
--with-commons-lang-jar=$(java-pkg_getjar commons-lang-2.1 commons-lang.jar) |
395 |
|
|
--with-commons-logging-jar=$(java-pkg_getjar commons-logging commons-logging.jar) |
396 |
|
|
--with-servlet-api-jar=$(java-pkg_getjar tomcat-servlet-api-3.0 servlet-api.jar) |
397 |
|
|
" |
398 |
|
|
fi |
399 |
|
|
|
400 |
|
|
if use test; then |
401 |
|
|
java_opts+=" --with-junit=$(java-pkg_getjar junit-4 junit.jar)" |
402 |
|
|
else |
403 |
|
|
java_opts+=" --without-junit" |
404 |
|
|
fi |
405 |
|
|
fi |
406 |
|
|
|
407 |
|
|
if use branding; then |
408 |
|
|
# hack... |
409 |
|
|
mv -v "${WORKDIR}/branding-intro.png" "${S}/icon-themes/galaxy/brand/intro.png" || die |
410 |
|
|
fi |
411 |
|
|
|
412 |
|
|
# system headers/libs/...: enforce using system packages |
413 |
|
|
# --enable-unix-qstart-libpng: use libpng splashscreen that is faster |
414 |
|
|
# --enable-cairo: ensure that cairo is always required |
415 |
|
|
# --enable-*-link: link to the library rather than just dlopen on runtime |
416 |
|
|
# --enable-release-build: build the libreoffice as release |
417 |
|
|
# --disable-fetch-external: prevent dowloading during compile phase |
418 |
|
|
# --disable-gnome-vfs: old gnome virtual fs support |
419 |
|
|
# --disable-kdeab: kde3 adressbook |
420 |
|
|
# --disable-kde: kde3 support |
421 |
|
|
# --disable-ldap: ldap requires internal mozilla stuff, same like mozab |
422 |
|
|
# --disable-mozilla: disable mozilla build that is used for adresbook, not |
423 |
|
|
# affecting the nsplugin that is always ON |
424 |
|
|
# --disable-pch: precompiled headers cause build crashes |
425 |
|
|
# --disable-rpath: relative runtime path is not desired |
426 |
|
|
# --disable-systray: quickstarter does not actually work at all so do not |
427 |
|
|
# promote it |
428 |
|
|
# --disable-zenity: disable build icon |
429 |
|
|
# --enable-extension-integration: enable any extension integration support |
430 |
|
|
# --with-{max-jobs,num-cpus}: ensuring parallel building |
431 |
|
|
# --without-{afms,fonts,myspell-dicts,ppsd}: prevent install of sys pkgs |
432 |
|
|
# --without-stlport: disable deprecated extensions framework |
433 |
|
|
# --disable-ext-report-builder: too much java packages pulled in |
434 |
|
|
econf \ |
435 |
|
|
--docdir="${EPREFIX}/usr/share/doc/${PF}/" \ |
436 |
|
|
--with-system-headers \ |
437 |
|
|
--with-system-libs \ |
438 |
|
|
--with-system-jars \ |
439 |
|
|
--with-system-dicts \ |
440 |
|
|
--enable-graphite \ |
441 |
|
|
--enable-cairo-canvas \ |
442 |
|
|
--enable-largefile \ |
443 |
|
|
--enable-mergelibs \ |
444 |
|
|
--enable-python=system \ |
445 |
|
|
--enable-randr \ |
446 |
|
|
--enable-randr-link \ |
447 |
|
|
--enable-release-build \ |
448 |
|
|
--enable-unix-qstart-libpng \ |
449 |
|
|
--enable-xmlsec \ |
450 |
|
|
--disable-ccache \ |
451 |
|
|
--disable-crashdump \ |
452 |
|
|
--disable-dependency-tracking \ |
453 |
|
|
--disable-epm \ |
454 |
|
|
--disable-fetch-external \ |
455 |
|
|
--disable-gnome-vfs \ |
456 |
|
|
--disable-ext-report-builder \ |
457 |
|
|
--disable-kdeab \ |
458 |
|
|
--disable-kde \ |
459 |
|
|
--disable-ldap \ |
460 |
|
|
--disable-mozilla \ |
461 |
|
|
--disable-nsplugin \ |
462 |
|
|
--disable-online-update \ |
463 |
|
|
--disable-pch \ |
464 |
|
|
--disable-rpath \ |
465 |
|
|
--disable-systray \ |
466 |
|
|
--disable-zenity \ |
467 |
|
|
--with-alloc=$(use jemalloc && echo "jemalloc" || echo "system") \ |
468 |
|
|
--with-build-version="Gentoo official package" \ |
469 |
|
|
--enable-extension-integration \ |
470 |
|
|
--with-external-dict-dir="${EPREFIX}/usr/share/myspell" \ |
471 |
|
|
--with-external-hyph-dir="${EPREFIX}/usr/share/myspell" \ |
472 |
|
|
--with-external-thes-dir="${EPREFIX}/usr/share/myspell" \ |
473 |
|
|
--with-external-tar="${DISTDIR}" \ |
474 |
|
|
--with-lang="" \ |
475 |
|
|
--with-max-jobs=${jbs} \ |
476 |
|
|
--with-num-cpus=${jbs} \ |
477 |
|
|
--with-unix-wrapper=libreoffice \ |
478 |
|
|
--with-vendor="Gentoo Foundation" \ |
479 |
|
|
--with-x \ |
480 |
|
|
--without-afms \ |
481 |
|
|
--without-fonts \ |
482 |
|
|
--without-myspell-dicts \ |
483 |
|
|
--without-stlport \ |
484 |
|
|
--without-system-mozilla \ |
485 |
|
|
--without-help \ |
486 |
|
|
--with-helppack-integration \ |
487 |
|
|
--without-sun-templates \ |
488 |
|
|
--disable-gtk3 \ |
489 |
|
|
$(use_enable binfilter) \ |
490 |
|
|
$(use_enable cups) \ |
491 |
|
|
$(use_enable dbus) \ |
492 |
|
|
$(use_enable eds evolution2) \ |
493 |
|
|
$(use_enable gnome gconf) \ |
494 |
|
|
$(use_enable gnome gio) \ |
495 |
|
|
$(use_enable gnome lockdown) \ |
496 |
|
|
$(use_enable gstreamer) \ |
497 |
|
|
$(use_enable gtk) \ |
498 |
|
|
$(use_enable kde kde4) \ |
499 |
|
|
$(use_enable mysql ext-mysql-connector) \ |
500 |
|
|
$(use_enable odk) \ |
501 |
|
|
$(use_enable opengl) \ |
502 |
|
|
$(use_enable postgres postgresql-sdbc) \ |
503 |
|
|
$(use_enable svg librsvg system) \ |
504 |
|
|
$(use_enable test linkoo) \ |
505 |
|
|
$(use_enable vba) \ |
506 |
|
|
$(use_enable webdav neon) \ |
507 |
|
|
$(use_with java) \ |
508 |
|
|
$(use_with mysql system-mysql-cppconn) \ |
509 |
|
|
$(use_with odk doxygen) \ |
510 |
|
|
${internal_libs} \ |
511 |
|
|
${java_opts} \ |
512 |
|
|
${ext_opts} |
513 |
|
|
} |
514 |
|
|
|
515 |
|
|
src_compile() { |
516 |
|
|
# hack for offlinehelp, this needs fixing upstream at some point |
517 |
|
|
# it is broken because we send --without-help |
518 |
|
|
# https://bugs.freedesktop.org/show_bug.cgi?id=46506 |
519 |
|
|
( |
520 |
|
|
source "${S}/config_host.mk" 2&> /dev/null |
521 |
|
|
|
522 |
|
|
local path="${SOLARVER}/${INPATH}/res/img" |
523 |
|
|
mkdir -p "${path}" || die |
524 |
|
|
|
525 |
|
|
echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=icon-themes/galaxy/res/helpimg > \"${path}/helpimg.ilst\"" |
526 |
|
|
perl "${S}/helpcontent2/helpers/create_ilst.pl" \ |
527 |
|
|
-dir=icon-themes/galaxy/res/helpimg \ |
528 |
|
|
> "${path}/helpimg.ilst" |
529 |
|
|
[[ -s "${path}/helpimg.ilst" ]] || ewarn "The help images list is empty, something is fishy, report a bug." |
530 |
|
|
) |
531 |
|
|
|
532 |
|
|
# this is not a proper make script |
533 |
|
|
make build || die |
534 |
|
|
} |
535 |
|
|
|
536 |
|
|
src_test() { |
537 |
|
|
make unitcheck || die |
538 |
|
|
make slowcheck || die |
539 |
|
|
} |
540 |
|
|
|
541 |
|
|
src_install() { |
542 |
|
|
# This is not Makefile so no buildserver |
543 |
|
|
make DESTDIR="${D}" distro-pack-install -o build -o check || die |
544 |
|
|
|
545 |
|
|
# Fix bash completion placement |
546 |
|
|
newbashcomp "${ED}"/etc/bash_completion.d/libreoffice.sh ${PN} |
547 |
|
|
rm -rf "${ED}"/etc/ |
548 |
|
|
|
549 |
|
|
if use branding; then |
550 |
|
|
insinto /usr/$(get_libdir)/${PN}/program |
551 |
|
|
newins "${WORKDIR}/branding-sofficerc" sofficerc |
552 |
|
|
fi |
553 |
|
|
|
554 |
|
|
# Hack for offlinehelp, this needs fixing upstream at some point. |
555 |
|
|
# It is broken because we send --without-help |
556 |
|
|
# https://bugs.freedesktop.org/show_bug.cgi?id=46506 |
557 |
|
|
insinto /usr/$(get_libdir)/libreoffice/help |
558 |
|
|
doins xmlhelp/util/*.xsl |
559 |
|
|
|
560 |
|
|
# Remove desktop files for support to old installs that can't parse mime |
561 |
|
|
rm -rf "${ED}"/usr/share/mimelnk/ |
562 |
|
|
} |
563 |
|
|
|
564 |
|
|
pkg_preinst() { |
565 |
|
|
# Cache updates - all handled by kde eclass for all environments |
566 |
|
|
kde4-base_pkg_preinst |
567 |
|
|
} |
568 |
|
|
|
569 |
|
|
pkg_postinst() { |
570 |
|
|
kde4-base_pkg_postinst |
571 |
|
|
|
572 |
|
|
pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/soffice.bin |
573 |
|
|
pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/unopkg.bin |
574 |
|
|
|
575 |
|
|
use java || \ |
576 |
|
|
ewarn 'If you plan to use lbase aplication you should enable java or you will get various crashes.' |
577 |
|
|
} |
578 |
|
|
|
579 |
|
|
pkg_postrm() { |
580 |
|
|
kde4-base_pkg_postrm |
581 |
|
|
} |