| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI="5" |
| |
| inherit eutils fdo-mime gnome2-utils pax-utils prefix rpm multilib |
| |
| IUSE="gnome java" |
| |
| BUILDID="9782" |
| BVER="${PV/_rc*/}-${BUILDID}" |
| BVER2=4.1.2-${BUILDID} |
| BASIS="ooobasis4.1" |
| BASIS2="basis4.1" |
| NM="openoffice" |
| NM1="${NM}-brand" |
| NM2="${NM}4" |
| NM3="${NM2}.1.2" |
| 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="http://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 |
| 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() { |
| |
| 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 |
| |
| } |