677e030bbd
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@2464 6952d904-891a-0410-993b-d76249ca496b
422 lines
14 KiB
Bash
422 lines
14 KiB
Bash
# Copyright 1999-2010 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/app-office/libreoffice/libreoffice-3.2.1.ebuild,v 1.4 2010/09/17 10:49:59 scarabeus Exp $
|
|
|
|
WANT_AUTOMAKE="1.9"
|
|
EAPI="2"
|
|
KDE_REQUIRED="optional"
|
|
CMAKE_REQUIRED="never"
|
|
PYTHON_DEPEND="2"
|
|
PYTHON_USE_WITH="threads"
|
|
|
|
inherit autotools bash-completion check-reqs db-use eutils fdo-mime flag-o-matic java-pkg-opt-2 kde4-base multilib python toolchain-funcs
|
|
|
|
IUSE="binfilter junit cups dbus debug eds gnome gstreamer gtk kde ldap nsplugin odk opengl pam templates"
|
|
|
|
MY_PV=3.2.99.1
|
|
PATCHLEVEL=OOO320
|
|
SRC=libreoffice
|
|
MST=OOO320_m19
|
|
DEVPATH=http://download.documentfoundation.org/libreoffice/src/${SRC}
|
|
S=${WORKDIR}/libre
|
|
S_OLD=${WORKDIR}/libreoffice-build-${MY_PV}
|
|
CONFFILE=${S}/distro-configs/Gentoo.conf.in
|
|
BASIS=basis3.2
|
|
DESCRIPTION="libreoffice, a full office productivity suite."
|
|
|
|
SRC_URI="${DEVPATH}-artwork-${PV}.tar.bz2
|
|
${DEVPATH}-base-${PV}.tar.bz2
|
|
${DEVPATH}-bootstrap-${PV}.tar.bz2
|
|
${DEVPATH}-calc-${PV}.tar.bz2
|
|
${DEVPATH}-components-${PV}.tar.bz2
|
|
${DEVPATH}-extensions-${PV}.tar.bz2
|
|
${DEVPATH}-filters-${PV}.tar.bz2
|
|
${DEVPATH}-help-${PV}.tar.bz2
|
|
${DEVPATH}-impress-${PV}.tar.bz2
|
|
${DEVPATH}-l10n-${PV}.tar.bz2
|
|
${DEVPATH}-libs-core-${PV}.tar.bz2
|
|
${DEVPATH}-libs-extern-${PV}.tar.bz2
|
|
${DEVPATH}-libs-extern-sys-${PV}.tar.bz2
|
|
${DEVPATH}-libs-gui-${PV}.tar.bz2
|
|
${DEVPATH}-postprocess-${PV}.tar.bz2
|
|
${DEVPATH}-sdk-${PV}.tar.bz2
|
|
${DEVPATH}-testing-${PV}.tar.bz2
|
|
${DEVPATH}-ure-${PV}.tar.bz2
|
|
${DEVPATH}-writer-${PV}.tar.bz2
|
|
${DEVPATH}-extras-${PV}.tar.bz2
|
|
binfilter? ( ${DEVPATH}-extras-${PV}.tar.bz2 )
|
|
templates? ( http://extensions.services.openoffice.org/files/273/0/Sun_ODF_Template_Pack_en-US.oxt
|
|
http://extensions.services.openoffice.org/files/295/1/Sun_ODF_Template_Pack_de.oxt
|
|
http://extensions.services.openoffice.org/files/299/0/Sun_ODF_Template_Pack_it.oxt
|
|
http://extensions.services.openoffice.org/files/297/0/Sun_ODF_Template_Pack_fr.oxt
|
|
http://extensions.services.openoffice.org/files/301/1/Sun_ODF_Template_Pack_es.oxt
|
|
ftp://ftp.devall.hu/kami/go-oo//Sun_ODF_Template_Pack_hu.oxt )
|
|
${DEVPATH}-build-${MY_PV}.tar.gz
|
|
odk? ( java? ( http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll ) )
|
|
http://download.go-oo.org/SRC680/extras-3.tar.bz2
|
|
http://download.go-oo.org/SRC680/biblio.tar.bz2
|
|
http://download.go-oo.org/SRC680/lp_solve_5.5.0.12_source.tar.gz
|
|
http://download.go-oo.org/DEV300/scsolver.2008-10-30.tar.bz2
|
|
http://download.go-oo.org/DEV300/ooo_oxygen_images-2009-06-17.tar.gz
|
|
http://download.go-oo.org/SRC680/libwps-0.1.2.tar.gz
|
|
http://multidimalgorithm.googlecode.com/files/mdds_0.3.0.tar.bz2"
|
|
|
|
LANGS1="af ar as_IN be_BY bg bn br brx bs ca cs cy da de dgo dz el en_GB en_ZA eo es et eu fa fi fr ga gl gu he hi_IN hr hu id it ja ka kk km kn_IN ko kok ks ku lt mai mk ml_IN mn mni mr_IN nb ne nl nn nr ns oc or_IN pa_IN pl pt pt_BR ru rw sa_IN sat sd sh sk sl sr ss st sv sw_TZ ta ta_IN te_IN tg th ti_ER tn tr ts uk ur_IN uz ve vi xh zh_CN zh_TW zu"
|
|
LANGS="${LANGS1} en en_US"
|
|
|
|
for X in ${LANGS} ; do
|
|
IUSE="${IUSE} linguas_${X}"
|
|
done
|
|
|
|
# intersection of available linguas and app-dicts/myspell-* dictionaries
|
|
SPELL_DIRS="af bg ca cs cy da de el en eo es et fr ga gl he hr hu it ku lt mk nb nl nn pl pt ru sk sl sv tn zu"
|
|
SPELL_DIRS_DEPEND=""
|
|
for X in ${SPELL_DIRS} ; do
|
|
SPELL_DIRS_DEPEND="${SPELL_DIRS_DEPEND} linguas_${X}? ( app-dicts/myspell-${X} )"
|
|
done
|
|
|
|
HOMEPAGE="http://go-oo.org"
|
|
|
|
LICENSE="LGPL-3"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
|
|
|
|
COMMON_DEPEND="!app-office/libreoffice-bin
|
|
x11-libs/libXaw
|
|
x11-libs/libXinerama
|
|
x11-libs/libXrandr
|
|
>=dev-lang/perl-5.0
|
|
>=dev-libs/glib-2.18
|
|
dbus? ( >=dev-libs/dbus-glib-0.71 )
|
|
gnome? ( >=x11-libs/gtk+-2.10
|
|
>=gnome-base/gconf-2.0
|
|
>=gnome-base/gnome-vfs-2.6
|
|
>=x11-libs/cairo-1.0.2 )
|
|
gtk? ( >=x11-libs/gtk+-2.10
|
|
>=x11-libs/cairo-1.0.2 )
|
|
eds? ( >=gnome-extra/evolution-data-server-1.2 )
|
|
gstreamer? ( >=media-libs/gstreamer-0.10
|
|
>=media-libs/gst-plugins-base-0.10 )
|
|
java? ( >=dev-java/bsh-2.0_beta4
|
|
dev-java/lucene:2.3
|
|
dev-java/lucene-analyzers:2.3
|
|
dev-java/rhino:1.5 )
|
|
nsplugin? ( net-libs/xulrunner:1.9
|
|
>=dev-libs/nspr-4.6.6
|
|
>=dev-libs/nss-3.11-r1 )
|
|
opengl? ( virtual/opengl )
|
|
>=net-libs/neon-0.24.7
|
|
>=dev-libs/openssl-0.9.8g
|
|
>=media-libs/freetype-2.1.10-r2
|
|
>=media-libs/fontconfig-2.3.0
|
|
cups? ( net-print/cups )
|
|
media-libs/jpeg
|
|
media-libs/libpng
|
|
app-arch/zip
|
|
app-arch/unzip
|
|
>=app-text/hunspell-1.1.4-r1
|
|
dev-libs/expat
|
|
>=dev-libs/icu-4.0
|
|
>=sys-libs/db-4.3
|
|
>=app-text/libwpd-0.8.8
|
|
>=media-libs/vigra-1.4
|
|
>=app-text/poppler-0.12.3-r3[xpdf-headers]
|
|
>=media-libs/libwpg-0.1.3"
|
|
|
|
RDEPEND="java? ( >=virtual/jre-1.5 )
|
|
${SPELL_DIRS_DEPEND}
|
|
${COMMON_DEPEND}"
|
|
|
|
DEPEND="${COMMON_DEPEND}
|
|
x11-libs/libXrender
|
|
x11-libs/libXtst
|
|
x11-proto/printproto
|
|
x11-proto/xextproto
|
|
x11-proto/xproto
|
|
x11-proto/xineramaproto
|
|
>=sys-apps/findutils-4.1.20-r1
|
|
dev-perl/Archive-Zip
|
|
dev-util/pkgconfig
|
|
dev-util/intltool
|
|
>=dev-libs/boost-1.36
|
|
sys-devel/flex
|
|
sys-devel/bison
|
|
dev-libs/libxslt
|
|
>=dev-libs/libxml2-2.0
|
|
>=dev-util/gperf-3
|
|
>=net-misc/curl-7.12
|
|
sys-libs/zlib
|
|
sys-apps/coreutils
|
|
pam? ( sys-libs/pam
|
|
sys-apps/shadow[pam] )
|
|
java? ( || ( =virtual/jdk-1.6* =virtual/jdk-1.5* )
|
|
junit? ( dev-java/junit:4 )
|
|
>=dev-java/ant-core-1.7 )
|
|
ldap? ( net-nds/openldap )"
|
|
|
|
PROVIDE="virtual/ooo"
|
|
|
|
pkg_setup() {
|
|
|
|
ewarn
|
|
ewarn " It is important to note that libreoffice is a very fragile "
|
|
ewarn " build when it comes to CFLAGS. A number of flags have already "
|
|
ewarn " been filtered out. If you experience difficulty merging this "
|
|
ewarn " package and use aggressive CFLAGS, lower the CFLAGS and try to "
|
|
ewarn " merge again. "
|
|
ewarn
|
|
ewarn " Also if you experience a build break, please make sure to retry "
|
|
ewarn " with MAKEOPTS="-j1" before filing a bug. "
|
|
ewarn
|
|
|
|
# Check if we have enough RAM and free diskspace to build this beast
|
|
CHECKREQS_MEMORY="512"
|
|
use debug && CHECKREQS_DISK_BUILD="12288" || CHECKREQS_DISK_BUILD="6144"
|
|
check_reqs
|
|
|
|
strip-linguas ${LANGS}
|
|
|
|
# en_US is built by default, upstream needs us to use --with-lang="" in this case though, so strip it out
|
|
export LINGUAS_TEMP=$(echo ${LINGUAS} | sed -e 's/\ben_US\b//g;s/en//g;s/_GB/en_GB/g;s/_ZA/en_ZA/g')
|
|
|
|
if [[ -z "${LINGUAS_TEMP}" ]] || [[ ${LINGUAS_TEMP} == " " ]]; then
|
|
export LINGUAS_OOO=""
|
|
else
|
|
# always build en-US as a fallback (needed for broken code / translations)
|
|
export LINGUAS_OOO="en-US ${LINGUAS_TEMP//_/-}"
|
|
fi
|
|
|
|
if use !java; then
|
|
ewarn " You are building with java-support disabled, this results in some "
|
|
ewarn " of the libreoffice functionality being disabled. "
|
|
ewarn " If something you need does not work for you, rebuild with "
|
|
ewarn " java in your USE-flags. "
|
|
ewarn
|
|
fi
|
|
|
|
if use !gtk && use !gnome; then
|
|
ewarn " If you want the libreoffice systray quickstarter to work "
|
|
ewarn " activate either the 'gtk' or 'gnome' use flags. "
|
|
ewarn
|
|
fi
|
|
|
|
if is-flagq -ffast-math ; then
|
|
eerror " You are using -ffast-math, which is known to cause problems. "
|
|
eerror " Please remove it from your CFLAGS, using this globally causes "
|
|
eerror " all sorts of problems. "
|
|
eerror " After that you will also have to - at least - rebuild python otherwise "
|
|
eerror " the libreoffice build will break. "
|
|
die
|
|
fi
|
|
|
|
java-pkg-opt-2_pkg_setup
|
|
|
|
# sys-libs/db version used
|
|
local db_ver=$(db_findver '>=sys-libs/db-4.3')
|
|
|
|
kde4-base_pkg_setup
|
|
|
|
python_set_active_version 2
|
|
python_pkg_setup
|
|
|
|
}
|
|
|
|
src_unpack() {
|
|
|
|
unpack libreoffice-build-${MY_PV}.tar.gz
|
|
|
|
}
|
|
|
|
src_prepare() {
|
|
|
|
# Hackish workaround for overlong path problem, see bug #130837
|
|
mv "${S_OLD}" "${S}" || die
|
|
|
|
#Some fixes for our patchset
|
|
cd "${S}"
|
|
epatch "${FILESDIR}/gentoo-${PV}.diff"
|
|
epatch "${FILESDIR}/gentoo-pythonpath.diff"
|
|
epatch "${FILESDIR}/ooo-env_log.diff"
|
|
cp -f "${FILESDIR}/qt-use-native-backend.diff" "${S}/patches/hotfixes" || die
|
|
|
|
#Use flag checks
|
|
if use java ; then
|
|
echo "--with-ant-home=${ANT_HOME}" >> ${CONFFILE}
|
|
echo "--with-jdk-home=$(java-config --jdk-home 2>/dev/null)" >> ${CONFFILE}
|
|
echo "--with-java-target-version=$(java-pkg_get-target)" >> ${CONFFILE}
|
|
echo "--with-jvm-path=/usr/$(get_libdir)/" >> ${CONFFILE}
|
|
echo "--with-system-beanshell" >> ${CONFFILE}
|
|
echo "--with-system-lucene" >> ${CONFFILE}
|
|
echo "--with-system-rhino" >> ${CONFFILE}
|
|
echo "--with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)" >> ${CONFFILE}
|
|
echo "--with-lucene-core-jar=$(java-pkg_getjar lucene-2.3 lucene-core.jar)" >> ${CONFFILE}
|
|
echo "--with-lucene-analyzers-jar=$(java-pkg_getjar lucene-analyzers-2.3 lucene-analyzers.jar)" >> ${CONFFILE}
|
|
echo "--with-rhino-jar=$(java-pkg_getjar rhino-1.5 js.jar)" >> ${CONFFILE}
|
|
|
|
# junit:4
|
|
use junit && echo "--with-junit=$(java-pkg_getjar junit-4 junit.jar)" >> ${CONFFILE}
|
|
fi
|
|
|
|
# junit:4
|
|
use !junit && echo "--without-junit" >> ${CONFFILE}
|
|
|
|
echo $(use_enable nsplugin mozilla) >> ${CONFFILE}
|
|
echo $(use_with nsplugin system-mozilla libxul) >> ${CONFFILE}
|
|
|
|
echo $(use_enable binfilter) >> ${CONFFILE}
|
|
echo $(use_enable cups) >> ${CONFFILE}
|
|
echo $(use_enable dbus) >> ${CONFFILE}
|
|
echo $(use_enable eds evolution2) >> ${CONFFILE}
|
|
echo $(use_enable gnome gconf) >> ${CONFFILE}
|
|
echo $(use_enable gnome gnome-vfs) >> ${CONFFILE}
|
|
#gio support still gives crashes, see i#108993
|
|
echo "--disable-gio" >> ${CONFFILE}
|
|
echo $(use_enable gnome lockdown) >> ${CONFFILE}
|
|
echo $(use_enable gstreamer) >> ${CONFFILE}
|
|
echo $(use_enable gtk systray) >> ${CONFFILE}
|
|
echo $(use_enable ldap) >> ${CONFFILE}
|
|
echo $(use_enable opengl) >> ${CONFFILE}
|
|
echo $(use_with ldap openldap) >> ${CONFFILE}
|
|
echo $(use_enable debug crashdump) >> ${CONFFILE}
|
|
echo $(use_enable debug strip-solver) >> ${CONFFILE}
|
|
|
|
# Extension stuff
|
|
echo "--with-extension-integration" >> ${CONFFILE}
|
|
echo "--enable-minimizer" >> ${CONFFILE}
|
|
echo "--enable-pdfimport" >> ${CONFFILE}
|
|
echo "--enable-presenter-console" >> ${CONFFILE}
|
|
|
|
echo "--without-writer2latex" >> ${CONFFILE}
|
|
|
|
# Use splash screen without Sun logo
|
|
#echo "--with-intro-bitmaps=\\\"${S}/build/${MST}/ooo_custom_images/nologo/introabout/intro.png\\\"" >> ${CONFFILE}
|
|
|
|
# Upstream this, disabled for now #i108911
|
|
#echo "--with-system-redland" >> ${CONFFILE}
|
|
|
|
# needed for sun-templates patch
|
|
eautoreconf
|
|
|
|
}
|
|
|
|
src_configure() {
|
|
|
|
use kde && export KDE4DIR="${KDEDIR}"
|
|
use kde && export QT4LIB="/usr/$(get_libdir)/qt4"
|
|
|
|
# Use multiprocessing by default now, it gets tested by upstream
|
|
export JOBS=$(echo "${MAKEOPTS}" | sed -e "s/.*-j\([0-9]\+\).*/\1/")
|
|
|
|
# Compile problems with these ...
|
|
filter-flags "-funroll-loops"
|
|
filter-flags "-fprefetch-loop-arrays"
|
|
filter-flags "-fno-default-inline"
|
|
filter-flags "-ftracer"
|
|
filter-flags "-fforce-addr"
|
|
|
|
filter-flags "-O[s2-9]"
|
|
|
|
if [[ $(gcc-major-version) -lt 4 ]]; then
|
|
filter-flags "-fstack-protector"
|
|
filter-flags "-fstack-protector-all"
|
|
replace-flags "-fomit-frame-pointer" "-momit-leaf-frame-pointer"
|
|
fi
|
|
|
|
# Build with NVidia cards breaks otherwise
|
|
use opengl && append-flags "-DGL_GLEXT_PROTOTYPES"
|
|
|
|
# Now for our optimization flags ...
|
|
export ARCH_FLAGS="${CXXFLAGS}"
|
|
use debug || export LINKFLAGSOPTIMIZE="${LDFLAGS}"
|
|
|
|
# Make sure gnome-users get gtk-support
|
|
local GTKFLAG="--disable-gtk --disable-cairo --without-system-cairo"
|
|
{ use gtk || use gnome; } && GTKFLAG="--enable-gtk --enable-cairo --with-system-cairo"
|
|
|
|
cd "${S}"
|
|
./configure --with-distro="Gentoo" \
|
|
--with-arch="${ARCH}" \
|
|
--with-srcdir="${DISTDIR}" \
|
|
--with-lang="${LINGUAS_OOO}" \
|
|
--with-num-cpus="${JOBS}" \
|
|
--without-binsuffix \
|
|
--with-installed-ooo-dirname="libreoffice" \
|
|
--with-tag="${MST}" \
|
|
--with-drink="True Blood" \
|
|
--without-git \
|
|
--without-split \
|
|
${GTKFLAG} \
|
|
--disable-mono \
|
|
--disable-kde \
|
|
$(use_enable kde kde4) \
|
|
$(use_enable !debug strip) \
|
|
$(use_enable odk) \
|
|
$(use_enable pam) \
|
|
$(use_with java) \
|
|
$(use_with templates sun-templates) \
|
|
--disable-access \
|
|
--disable-post-install-scripts \
|
|
--enable-extensions \
|
|
--with-split \
|
|
--with-system-libwpd \
|
|
--with-system-libwpg \
|
|
--mandir=/usr/share/man \
|
|
--libdir=/usr/$(get_libdir) \
|
|
|| die "Configuration failed!"
|
|
|
|
}
|
|
|
|
src_compile() {
|
|
|
|
make || die "Build failed"
|
|
|
|
}
|
|
|
|
src_install() {
|
|
|
|
export PYTHONPATH=""
|
|
|
|
einfo "Preparing Installation"
|
|
make DESTDIR="${D}" install || die "Installation failed!"
|
|
|
|
# Fix the permissions for security reasons
|
|
chown -RP root:0 "${D}"
|
|
|
|
# record java libraries
|
|
if use java; then
|
|
java-pkg_regjar "${D}"/usr/$(get_libdir)/libreoffice/${BASIS}/program/classes/*.jar
|
|
java-pkg_regjar "${D}"/usr/$(get_libdir)/libreoffice/ure/share/java/*.jar
|
|
fi
|
|
|
|
# Upstream places the bash-completion module in /etc. Gentoo places them in
|
|
# /usr/share/bash-completion. bug 226061
|
|
dobashcompletion "${D}"/etc/bash_completion.d/ooffice.sh ooffice
|
|
rm -rf "${D}"/etc/bash_completion.d/ || die "rm failed"
|
|
|
|
}
|
|
|
|
pkg_postinst() {
|
|
|
|
fdo-mime_desktop_database_update
|
|
fdo-mime_mime_database_update
|
|
BASHCOMPLETION_NAME=ooffice && bash-completion_pkg_postinst
|
|
|
|
( [[ -x /sbin/chpax ]] || [[ -x /sbin/paxctl ]] ) && [[ -e /usr/$(get_libdir)/libreoffice/program/soffice.bin ]] && scanelf -Xzm /usr/$(get_libdir)/libreoffice/program/soffice.bin
|
|
|
|
# Add available & useful jars to libreoffice classpath
|
|
use java && /usr/$(get_libdir)/libreoffice/${BASIS}/program/java-set-classpath $(java-config --classpath=jdbc-mysql 2>/dev/null) >/dev/null
|
|
|
|
elog " Some aditional functionality can be installed via Extension Manager: "
|
|
elog " *) PDF Import "
|
|
elog " *) Presentation Console "
|
|
elog " *) Presentation Minimizer "
|
|
elog
|
|
elog " Please use the packages provided in "
|
|
elog " /usr/$(get_libdir)/libreoffice/share/extension/install/ "
|
|
elog " instead of those from the SUN extension site. "
|
|
elog
|
|
|
|
kde4-base_pkg_postinst
|
|
|
|
}
|