You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-office/openoffice-bin/openoffice-bin-3.4.1.ebuild

216 lines
6.1 KiB

# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice-bin/openoffice-bin-3.4.1.ebuild,v 1.3 2012/09/19 09:52:57 johu Exp $
EAPI="4"
inherit eutils fdo-mime gnome2-utils pax-utils prefix rpm multilib
IUSE="gnome java"
BUILDID="9593"
BUILDID2="9593"
MST="OOO330_m20"
MY_PV="${PV}rc10"
MY_PV2="${MY_PV}_20110118"
BVER="${PV/_rc*/}-${BUILDID}"
BVER2="3.4-${BUILDID2}"
BASIS="ooobasis3.4"
BASIS2="basis3.4"
NM="openoffice"
NM1="${NM}.org"
NM2="${NM1}3"
NM3="${NM2}.4"
FILEPATH="mirror://sourceforge/openofficeorg.mirror/localized"
if [ "${ARCH}" = "amd64" ] ; then
XARCH="x86_64"
else
XARCH="i586"
fi
UP="en-US/RPMS"
DESCRIPTION="Apache OpenOffice productivity suite."
HOMEPAGE="http://www.openoffice.org/"
SRC_URI="amd64? ( mirror://sourceforge/openofficeorg.mirror/stable/${PV}/Apache_OpenOffice_incubating_${PV}_Linux_x86-64_install-rpm_en-US.tar.gz )
x86? ( mirror://sourceforge/openofficeorg.mirror/stable/${PV}/Apache_OpenOffice_incubating_${PV}_Linux_x86_install-rpm_en-US.tar.gz )"
LANGS="ar zh_CN zh_TW cs nl en_GB fi fr gl de hu it ja km pt_BR ru sk sl es"
for X in ${LANGS} ; do
[[ ${X} != "en" ]] && SRC_URI="${SRC_URI} linguas_${X}? (
amd64? ( "${FILEPATH}"/${X/_/-}/${PV}/Apache_OpenOffice_incubating_${PV}_Linux_x86-64_langpack-rpm_${X/_/-}.tar.gz )
x86? ( "${FILEPATH}"/${X/_/-}/${PV}/Apache_OpenOffice_incubating_${PV}_Linux_x86_langpack-rpm_${X/_/-}.tar.gz ) )"
IUSE="${IUSE} linguas_${X}"
done
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
RDEPEND="
!app-office/openoffice
!prefix? ( sys-libs/glibc )
app-arch/unzip
app-arch/zip
>=dev-lang/perl-5.0
>=media-libs/freetype-2.1.10-r2
x11-libs/libXaw
x11-libs/libXinerama"
DEPEND="${RDEPEND}
sys-apps/findutils"
PDEPEND="java? ( >=virtual/jre-1.5 )"
RESTRICT="strip"
QA_PREBUILT="usr/$(get_libdir)/${NM}/${BASIS2}/program/*
usr/$(get_libdir)/${NM}/program/*
usr/$(get_libdir)/${NM}/ure/bin/*
usr/$(get_libdir)/${NM}/ure/lib/*
usr/$(get_libdir)/${NM}/share/prereg/bundled/*/*"
QA_TEXTRELS="usr/$(get_libdir)/${NM}/${BASIS2}/program/libvclplug_genli.so \
usr/$(get_libdir)/${NM}/${BASIS2}/program/python-core-2.6.1/lib/lib-dynload/_curses_panel.so \
usr/$(get_libdir)/${NM}/${BASIS2}/program/python-core-2.6.1/lib/lib-dynload/_curses.so \
usr/$(get_libdir)/${NM}/ure/lib/*"
S=${WORKDIR}
src_unpack() {
unpack ${A}
cp "${FILESDIR}"/{50-${PN},wrapper.in} "${T}"
eprefixify "${T}"/{50-${PN},wrapper.in}
for i in base binfilter calc core01 core02 core03 core04 core05 core06 core07 draw graphicfilter images impress math ogltrans ooofonts ooolinguistic pyuno testtool writer xsltfilter ; do
rpm_unpack "./${UP}/${BASIS}-${i}-${BVER}.${XARCH}.rpm"
done
rpm_unpack "./${UP}/${NM2}-${BVER}.${XARCH}.rpm"
rpm_unpack "./${UP}/${NM1}-ure-${BVER}.${XARCH}.rpm"
for j in base calc draw impress math writer; do
rpm_unpack "./${UP}/${NM2}-${j}-${BVER}.${XARCH}.rpm"
done
rpm_unpack "./${UP}/desktop-integration/${NM3}-freedesktop-menus-${BVER2}.noarch.rpm"
use gnome && rpm_unpack "./${UP}/${BASIS}-gnome-integration-${BVER}.${XARCH}.rpm"
use java && rpm_unpack "./${UP}/${BASIS}-javafilter-${BVER}.${XARCH}.rpm"
# English support installed by default
rpm_unpack "./${UP}/${BASIS}-en-US-${BVER}.${XARCH}.rpm"
rpm_unpack "./${UP}/${NM2}-en-US-${BVER}.${XARCH}.rpm"
for s in base binfilter calc draw help impress math res writer ; do
rpm_unpack "./${UP}/${BASIS}-en-US-${s}-${BVER}.${XARCH}.rpm"
done
# Localization
strip-linguas ${LANGS}
for l in ${LINGUAS}; do
m="${l/_/-}"
if [[ ${m} != "en" ]] ; then
LANGDIR="${m}/RPMS/"
rpm_unpack "./${LANGDIR}/${BASIS}-${m}-${BVER}.${XARCH}.rpm"
rpm_unpack "./${LANGDIR}/${NM2}-${m}-${BVER}.${XARCH}.rpm"
for n in base binfilter calc draw help impress math res writer; do
rpm_unpack "./${LANGDIR}/${BASIS}-${m}-${n}-${BVER}.${XARCH}.rpm"
done
fi
done
}
src_install () {
INSTDIR="/usr/$(get_libdir)/${NM}"
dodir ${INSTDIR}
mv "${WORKDIR}"/opt/${NM1}/* "${ED}${INSTDIR}" || die
mv "${WORKDIR}"/opt/${NM2}/* "${ED}${INSTDIR}" || die
#Menu entries, icons and mime-types
cd "${ED}${INSTDIR}/share/xdg/"
for desk in base calc draw impress javafilter math printeradmin qstart startcenter writer; do
if [ "${desk}" = "javafilter" ] ; then
use java || { rm javafilter.desktop; continue; }
fi
mv ${desk}.desktop ${NM1}-${desk}.desktop
sed -i -e s/${NM2}/ooffice/g ${NM1}-${desk}.desktop || die
domenu ${NM1}-${desk}.desktop
done
insinto /usr/share
doins -r "${WORKDIR}"/usr/share/icons
doins -r "${WORKDIR}"/usr/share/mime
# Make sure the permissions are right
use prefix || fowners -R root:0 /
# Install wrapper script
newbin "${T}/wrapper.in" ooffice
sed -i -e s/LIBDIR/$(get_libdir)/g "${ED}/usr/bin/ooffice" || die
# Component symlinks
for app in base calc draw impress math writer; do
dosym ${INSTDIR}/program/s${app} /usr/bin/oo${app}
done
dosym ${INSTDIR}/program/spadmin /usr/bin/ooffice-printeradmin
dosym ${INSTDIR}/program/soffice /usr/bin/soffice
rm -f "${ED}${INSTDIR}/basis-link" || die
dosym ${INSTDIR}/${BASIS2} ${INSTDIR}/basis-link
# Change user install dir
sed -i -e "s/.${NM1}\/3/.ooo3/g" "${ED}${INSTDIR}/program/bootstraprc" || die
# Non-java weirdness see bug #99366
use !java && rm -f "${ED}${INSTDIR}/ure/bin/javaldx"
# prevent revdep-rebuild from attempting to rebuild all the time
insinto /etc/revdep-rebuild && doins "${T}/50-${PN}"
# remove soffice bin
rm -rf "${ED}${EPREFIX}/usr/bin/soffice"
# replace all symlinks by bash shell code in order to nicely cope with
# libreoffice
cd "${ED}${EPREFIX}/usr/bin/"
for i in oo*; do
[[ ${i} == ooffice ]] && continue
rm ${i}
cat >> ${i} << EOF
#!/usr/bin/env bash
pushd "${EPREFIX}/usr/$(get_libdir)/openoffice/program" > /dev/null
./${i/oo/s}
popd > /dev/null
EOF
chmod +x ${i}
done
}
pkg_preinst() {
use gnome && gnome2_icon_savelist
}
pkg_postinst() {
fdo-mime_desktop_database_update
fdo-mime_mime_database_update
use gnome && gnome2_icon_cache_update
pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/${NM}/program/soffice.bin
}
pkg_postrm() {
fdo-mime_desktop_database_update
use gnome && gnome2_icon_cache_update
}