397 lines
12 KiB
Bash
397 lines
12 KiB
Bash
|
# Copyright 1999-2009 Gentoo Foundation
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice/openoffice-3.1.0_beta7.ebuild,v 1.3 2009/05/12 20:36:22 loki_val Exp $
|
||
|
|
||
|
WANT_AUTOMAKE="1.9"
|
||
|
EAPI="2"
|
||
|
|
||
|
inherit bash-completion check-reqs db-use eutils fdo-mime flag-o-matic java-pkg-opt-2 kde-functions mono multilib toolchain-funcs
|
||
|
|
||
|
IUSE="binfilter cups dbus debug eds gnome gstreamer gtk kde ldap mono nsplugin odk opengl pam templates"
|
||
|
|
||
|
MY_PV=3.1.0.1
|
||
|
PATCHLEVEL=OOO310
|
||
|
SRC=OOo_${PV}_src
|
||
|
MST=ooo310-m11
|
||
|
DEVPATH=http://download.go-oo.org/${PATCHLEVEL}/${MST}
|
||
|
S=${WORKDIR}/ooo
|
||
|
S_OLD=${WORKDIR}/ooo-build-${MY_PV}
|
||
|
CONFFILE=${S}/distro-configs/Gentoo.conf.in
|
||
|
BASIS=basis3.1
|
||
|
DESCRIPTION="OpenOffice.org, a full office productivity suite."
|
||
|
|
||
|
SRC_URI="${DEVPATH}-artwork.tar.bz2
|
||
|
${DEVPATH}-base.tar.bz2
|
||
|
${DEVPATH}-bootstrap.tar.bz2
|
||
|
${DEVPATH}-calc.tar.bz2
|
||
|
${DEVPATH}-components.tar.bz2
|
||
|
${DEVPATH}-extensions.tar.bz2
|
||
|
${DEVPATH}-extras.tar.bz2
|
||
|
${DEVPATH}-filters.tar.bz2
|
||
|
${DEVPATH}-help.tar.bz2
|
||
|
${DEVPATH}-impress.tar.bz2
|
||
|
${DEVPATH}-libs-core.tar.bz2
|
||
|
${DEVPATH}-libs-extern.tar.bz2
|
||
|
${DEVPATH}-libs-extern-sys.tar.bz2
|
||
|
${DEVPATH}-libs-gui.tar.bz2
|
||
|
${DEVPATH}-postprocess.tar.bz2
|
||
|
${DEVPATH}-sdk.tar.bz2
|
||
|
${DEVPATH}-testing.tar.bz2
|
||
|
${DEVPATH}-ure.tar.bz2
|
||
|
${DEVPATH}-writer.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 )
|
||
|
http://download.go-oo.org/${PATCHLEVEL}/ooo-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/SRC680/libwps-0.1.2.tar.gz
|
||
|
http://download.go-oo.org/SRC680/libwpg-0.1.3.tar.gz"
|
||
|
|
||
|
LANGS1="af ar as_IN be_BY bg bn br bs ca cs cy da de dz el en_GB en_ZA eo es et fa fi fr ga gl gu he hi_IN hr hu it ja ka kk km ko ku lt lv mk ml_IN mn mr_IN nb ne nl nn nr ns or_IN pa_IN pl pt pt_BR ru rw sh sk sl sr ss st sv sw_TZ ta te_IN tg th ti_ER tn tr ts uk ur_IN ve vi xh zh_CN zh_TW zu"
|
||
|
LANGS="${LANGS1} en en_US"
|
||
|
|
||
|
for X in ${LANGS} ; do
|
||
|
IUSE="${IUSE} linguas_${X}"
|
||
|
done
|
||
|
|
||
|
HOMEPAGE="http://go-oo.org"
|
||
|
|
||
|
LICENSE="LGPL-2"
|
||
|
SLOT="0"
|
||
|
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
|
||
|
|
||
|
COMMON_DEPEND="!app-office/openoffice-bin
|
||
|
x11-libs/libXaw
|
||
|
x11-libs/libXinerama
|
||
|
x11-libs/libXrandr
|
||
|
>=dev-lang/perl-5.0
|
||
|
dbus? ( >=dev-libs/dbus-glib-0.71 )
|
||
|
gnome? ( >=x11-libs/gtk+-2.10
|
||
|
>=gnome-base/gnome-vfs-2.6
|
||
|
>=gnome-base/gconf-2.0
|
||
|
>=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 )
|
||
|
kde? ( kde-base/kdelibs:3.5 )
|
||
|
java? ( >=dev-java/bsh-2.0_beta4
|
||
|
>=dev-db/hsqldb-1.8.0.9 )
|
||
|
mono? ( || ( >dev-lang/mono-2.4-r1 <dev-lang/mono-2.4 ) )
|
||
|
nsplugin? ( || ( net-libs/xulrunner:1.8 net-libs/xulrunner:1.9 =www-client/seamonkey-1* )
|
||
|
>=dev-libs/nspr-4.6.6
|
||
|
>=dev-libs/nss-3.11-r1 )
|
||
|
opengl? ( virtual/opengl
|
||
|
virtual/glu )
|
||
|
>=net-misc/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
|
||
|
>=virtual/poppler-0.8.0"
|
||
|
|
||
|
RDEPEND="java? ( >=virtual/jre-1.5 )
|
||
|
${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
|
||
|
virtual/perl-Compress-Zlib
|
||
|
>=virtual/perl-Compress-Raw-Zlib-2.002
|
||
|
virtual/perl-IO-Compress-Base
|
||
|
dev-util/pkgconfig
|
||
|
dev-util/intltool
|
||
|
>=dev-libs/boost-1.33.1
|
||
|
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] )
|
||
|
>=dev-lang/python-2.3.4[threads]
|
||
|
java? ( || ( =virtual/jdk-1.6* =virtual/jdk-1.5* )
|
||
|
>=dev-java/ant-core-1.7 )
|
||
|
ldap? ( net-nds/openldap )"
|
||
|
|
||
|
PROVIDE="virtual/ooo"
|
||
|
|
||
|
pkg_setup() {
|
||
|
|
||
|
ewarn
|
||
|
ewarn " It is important to note that OpenOffice.org 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 agressive CFLAGS, lower the CFLAGS and try to "
|
||
|
ewarn " merge again. Also note that building OOo takes a lot of time and "
|
||
|
ewarn " hardware ressources: 4-6 GB free diskspace and 256 MB RAM are "
|
||
|
ewarn " the minimum requirements. If you have less, use openoffice-bin "
|
||
|
ewarn " instead. "
|
||
|
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="8192" || CHECKREQS_DISK_BUILD="6144"
|
||
|
check_reqs
|
||
|
|
||
|
strip-linguas ${LANGS}
|
||
|
|
||
|
if [[ -z "${LINGUAS}" ]]; then
|
||
|
export LINGUAS_OOO="en-US"
|
||
|
ewarn
|
||
|
ewarn " To get a localized build, set the according LINGUAS variable(s). "
|
||
|
ewarn
|
||
|
else
|
||
|
export LINGUAS_OOO=$(echo ${LINGUAS} | sed -e 's/\ben\b/en_US/g;s/_/-/g')
|
||
|
fi
|
||
|
|
||
|
if use !java; then
|
||
|
ewarn " You are building with java-support disabled, this results in some "
|
||
|
ewarn " of the OpenOffice.org 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 OpenOffice.org 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 openoffice build will break. "
|
||
|
die
|
||
|
fi
|
||
|
|
||
|
if use nsplugin; then
|
||
|
if pkg-config --exists libxul; then
|
||
|
BRWS="libxul"
|
||
|
elif pkg-config --exists xulrunner-xpcom; then
|
||
|
BRWS="xulrunner"
|
||
|
elif pkg-config --exists seamonkey-xpcom; then
|
||
|
BRWS="seamonkey"
|
||
|
else
|
||
|
die "USE flag [nsplugin] set but no installed xulrunner or seamonkey found!"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
java-pkg-opt-2_pkg_setup
|
||
|
|
||
|
# sys-libs/db version used
|
||
|
local db_ver=$(db_findver '>=sys-libs/db-4.3')
|
||
|
|
||
|
}
|
||
|
|
||
|
src_unpack() {
|
||
|
|
||
|
unpack ooo-build-${MY_PV}.tar.gz
|
||
|
|
||
|
# 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}/ooo-env_log.diff"
|
||
|
cp -f "${FILESDIR}/buildfix-gcc44.diff" "${S}/patches/hotfixes" || die
|
||
|
cp -f "${FILESDIR}/base64.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-hsqldb" >> ${CONFFILE}
|
||
|
echo "--with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)" >> ${CONFFILE}
|
||
|
echo "--with-hsqldb-jar=$(java-pkg_getjar hsqldb hsqldb.jar)" >> ${CONFFILE}
|
||
|
fi
|
||
|
|
||
|
if use nsplugin ; then
|
||
|
echo "--enable-mozilla" >> ${CONFFILE}
|
||
|
echo "--with-system-mozilla=${BRWS}" >> ${CONFFILE}
|
||
|
else
|
||
|
echo "--disable-mozilla" >> ${CONFFILE}
|
||
|
echo "--without-system-mozilla" >> ${CONFFILE}
|
||
|
fi
|
||
|
|
||
|
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}
|
||
|
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.bmp\\\"" >> ${CONFFILE}
|
||
|
|
||
|
}
|
||
|
|
||
|
src_configure() {
|
||
|
|
||
|
# 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 "-fstack-protector"
|
||
|
filter-flags "-fstack-protector-all"
|
||
|
filter-flags "-ftracer"
|
||
|
filter-flags "-fforce-addr"
|
||
|
|
||
|
filter-flags "-O[s2-9]"
|
||
|
|
||
|
if [[ $(gcc-major-version) -lt 4 ]]; then
|
||
|
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="openoffice" \
|
||
|
--with-tag="${MST}" \
|
||
|
${GTKFLAG} \
|
||
|
$(use_enable mono) \
|
||
|
$(use_enable kde) \
|
||
|
$(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-system-libwpd \
|
||
|
--mandir=/usr/share/man \
|
||
|
--libdir=/usr/$(get_libdir) \
|
||
|
|| die "Configuration failed!"
|
||
|
|
||
|
}
|
||
|
|
||
|
src_compile() {
|
||
|
|
||
|
use kde && set-kdedir 3
|
||
|
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)/openoffice/${BASIS}/program/classes/*.jar
|
||
|
java-pkg_regjar "${D}"/usr/$(get_libdir)/openoffice/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
|
||
|
bash-completion_pkg_postinst
|
||
|
|
||
|
[[ -x /sbin/chpax ]] && [[ -e /usr/$(get_libdir)/openoffice/program/soffice.bin ]] && chpax -zm /usr/$(get_libdir)/openoffice/program/soffice.bin
|
||
|
|
||
|
# Add available & useful jars to openoffice classpath
|
||
|
use java && /usr/$(get_libdir)/openoffice/${BASIS}/program/java-set-classpath $(java-config --classpath=jdbc-mysql 2>/dev/null) >/dev/null
|
||
|
|
||
|
elog
|
||
|
elog " Spell checking is provided through our own myspell-ebuilds, "
|
||
|
elog " if you want to use it, please install the correct myspell package "
|
||
|
elog " according to your language needs. "
|
||
|
elog
|
||
|
|
||
|
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)/openoffice/share/extension/install/ "
|
||
|
elog " instead of those from the SUN extension site. "
|
||
|
elog
|
||
|
|
||
|
}
|