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-4.1.4.ebuild

186 lines
5.0 KiB

# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit eutils xdg-utils gnome2-utils pax-utils prefix rpm multilib
IUSE="gnome java"
BUILDID="9788"
BVER="${PV/_rc*/}-${BUILDID}"
BVER2=4.1.4-${BUILDID}
BASIS="ooobasis4.1"
BASIS2="basis4.1"
NM="openoffice"
NM1="${NM}-brand"
NM2="${NM}4"
NM3="${NM2}.1.4"
FILEPATH="mirror://sourceforge/openofficeorg.mirror"
if [ "${ARCH}" = "amd64" ] ; then
XARCH="x86_64"
else
XARCH="i586"
fi
UP="en-US/RPMS"
DESCRIPTION="Apache OpenOffice productivity suite"
HOMEPAGE="https://www.openoffice.org/"
SRC_URI="amd64? ( "${FILEPATH}"/Apache_OpenOffice_${PV}_Linux_x86-64_install-rpm_en-US.tar.gz )
x86? ( "${FILEPATH}"/Apache_OpenOffice_${PV}_Linux_x86_install-rpm_en-US.tar.gz )"
# TODO: supports ca_XR (Valencian RACV) locale too
LANGS="ast eu bg ca ca_XV zh_CN zh_TW cs da nl en_GB fi fr gd gl de el he hi hu it ja km ko lt nb pl pt_BR pt ru sr sk sl es sv ta th tr vi"
for X in ${LANGS} ; do
[[ ${X} != "en" ]] && SRC_URI="${SRC_URI} linguas_${X}? (
amd64? ( "${FILEPATH}"/Apache_OpenOffice_${PV}_Linux_x86-64_langpack-rpm_${X/_/-}.tar.gz )
x86? ( "${FILEPATH}"/Apache_OpenOffice_${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
dev-lang/python:2.7
>=media-libs/freetype-2.1.10-r2
sys-libs/ncurses:5/5
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}/program/*"
QA_TEXTRELS="usr/$(get_libdir)/${NM}/program/libvclplug_genli.so"
S=${WORKDIR}
src_unpack() {
unpack ${A}
cp "${FILESDIR}"/{50-${PN},wrapper.in} "${T}"
eprefixify "${T}"/{50-${PN},wrapper.in}
for i in base calc core01 core02 core03 core04 core05 core06 core07 draw graphicfilter images impress math ogltrans ooofonts ooolinguistic pyuno ure writer xsltfilter ; do
rpm_unpack "./${UP}/${NM}-${i}-${BVER}.${XARCH}.rpm"
done
rpm_unpack "./${UP}/${NM}-${BVER}.${XARCH}.rpm"
for j in base calc draw impress math writer; do
rpm_unpack "./${UP}/${NM1}-${j}-${BVER}.${XARCH}.rpm"
done
rpm_unpack "./${UP}/desktop-integration/${NM3}-freedesktop-menus-${BVER2}.noarch.rpm"
use gnome && rpm_unpack "./${UP}/${NM}-gnome-integration-${BVER}.${XARCH}.rpm"
use java && rpm_unpack "./${UP}/${NM}-javafilter-${BVER}.${XARCH}.rpm"
# English support installed by default
rpm_unpack "./${UP}/${NM}-en-US-${BVER}.${XARCH}.rpm"
rpm_unpack "./${UP}/${NM1}-en-US-${BVER}.${XARCH}.rpm"
for s in base calc draw help impress math res writer ; do
rpm_unpack "./${UP}/${NM}-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}/${NM}-${m}-${BVER}.${XARCH}.rpm"
rpm_unpack "./${LANGDIR}/${NM1}-${m}-${BVER}.${XARCH}.rpm"
for n in base calc draw help impress math res writer; do
rpm_unpack "./${LANGDIR}/${NM}-${m}-${n}-${BVER}.${XARCH}.rpm"
done
fi
done
}
src_install () {
INSTDIR="/usr/$(get_libdir)/${NM}"
dodir ${INSTDIR}
# mv "${WORKDIR}"/opt/${NM}/* "${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 ${NM}-${desk}.desktop
sed -i -e "s/${NM2} /ooffice /g" ${NM}-${desk}.desktop || die
domenu ${NM}-${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
cp "${ED}/usr/bin/ooffice" "${ED}/usr/bin/oo${app}"
sed -i -e s/soffice/s${app}/ "${ED}/usr/bin/oo${app}" || die
done
dosym ${INSTDIR}/program/spadmin /usr/bin/ooffice-printeradmin
dosym ${INSTDIR}/program/soffice /usr/bin/soffice
# Non-java weirdness see bug #99366
use !java && rm -f "${ED}${INSTDIR}/program/javaldx"
# prevent revdep-rebuild from attempting to rebuild all the time
insinto /etc/revdep-rebuild && doins "${T}/50-${PN}"
# remove soffice bin to avoid collision with libreoffice
rm -rf "${ED}${EPREFIX}/usr/bin/soffice"
}
pkg_preinst() {
use gnome && gnome2_icon_savelist
}
pkg_postinst() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
use gnome && gnome2_icon_cache_update
pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/${NM}/program/soffice.bin
}
pkg_postrm() {
xdg_desktop_database_update
use gnome && gnome2_icon_cache_update
}