# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils fdo-mime rpm DESCRIPTION="OpenOffice.org 3.0 RC1" HOMEPAGE="http://www.openoffice.org" LICENSE="LGPL-3.0" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="kde gnome java" OOMILESTONE="5" OOVER="3.0.0" OOBUILD="9350" LANG_PACKED="OOO300_m${OOMILESTONE}_native_packed-2" OOLANG="en-US" if [[ $ARCH = "x86" ]];then einfo "Installing 32bit-Version" OOARCH="i586" PACKED="OOO300_m${OOMILESTONE}_native_packed-3_en-US" elif [[ ${ARCH} = "amd64" ]];then einfo "Installing 64bit-Version" OOARCH="x86_64" PACKED="OOO300_m${OOMILESTONE}_native_packed-2_en-US" fi S="${WORKDIR}/${PACKED}.${OOBUILD}/RPMS" LANGS="de" #af as_IN be_BY bg br bs ca cs da de dz el en en_GB en_ZA es et fi fr ga gl gu he hi_IN hr hu it ja ka km ko lt mk ml_IN mr_IN nb ne nl nn nr ns or_IN pa_IN pl pt rw sh sk sl sr ss st sv sw_TZ ta te_IN tg th ti_ER tr ts uk ur_IN ve vi xh zh_CN zh_TW zu" SRC_URI="http://gnome-look.org/CONTENT/content-files/74029-OpenOffice_Dock_Icons_v2_by_ducatart.zip x86? ( http://ftp5.gwdg.de/pub/openoffice/contrib/rc/${OOVER}rc1/OOo_3.0.0rc1_20080904_LinuxIntel_install_en-US.tar.gz ) amd64? ( http://ftp5.gwdg.de/pub/openoffice/contrib/rc/${OOVER}rc1/OOo_3.0.0rc1_20080904_LinuxX86-64_install_en-US.tar.gz )" for X in ${LANGS} ; do [[ ${X} != "en" ]] && SRC_URI="${SRC_URI} linguas_${X}? ( x86? ( http://ftp5.gwdg.de/pub/openoffice/extended/${OOVER}rc1/OOo_3.0.0rc1_20080904_LinuxIntel_langpack_${X/_/-}.tar.gz ) amd64? ( http://ftp5.gwdg.de/pub/openoffice/extended/${OOVER}rc1/OOo_3.0.0rc1_20080904_LinuxX86-64_langpack_${X/_/-}.tar.gz ) )" IUSE="${IUSE} linguas_${X}" done RDEPEND="!app-office/openoffice x11-libs/libXaw sys-libs/glibc >=dev-lang/perl-5.0 app-arch/zip app-arch/unzip >=media-libs/freetype-2.1.10-r2 >=app-admin/eselect-oodict-20061117 java? ( >=virtual/jre-1.4 ) linguas_ja? ( >=media-fonts/kochi-substitute-20030809-r3 ) linguas_zh_CN? ( >=media-fonts/arphicfonts-0.1-r2 ) linguas_zh_TW? ( >=media-fonts/arphicfonts-0.1-r2 )" DEPEND="${RDEPEND} sys-apps/findutils" PROVIDE="virtual/ooo" RESTRICT="strip" QA_EXECSTACK="usr/$(get_libdir)/openoffice/basis3.0/program/* usr/$(get_libdir)/openoffice/ure/lib/* \ usr/$(get_libdir)/openoffice/basis3.0/program/*" QA_TEXTRELS="usr/$(get_libdir)/openoffice/basis3.0/program/python-core-2.3.4/lib/lib-dynload/_curses_panel.so \ usr/$(get_libdir)/openoffice/basis3.0/program/python-core-2.3.4/lib/lib-dynload/_curses.so" ooodev_unpack() { einfo "unpacking rpm component `echo $1||cut -d "/" -f9`" rpm_unpack "$1.rpm" || die rm "$1.rpm" } src_unpack() { # unpack ${A} # mkdir ooicons && mv *.png ooicons/ # rm -f "${S}/RPMS/"jre-*.rpm unpack ${A} ooodev_unpack "${S}/openoffice.org3-${OOVER}-${OOBUILD}.${OOARCH}" ooodev_unpack "${S}/openoffice.org-ure-1.4.0-${OOBUILD}.${OOARCH}" # unpack base-rpms for x in base calc core01 core02 core03 core04 core05 core06 core07 draw onlineupdate graphicfilter images impress math ooofonts ooolinguistic pyuno testtool writer xsltfilter; do ooodev_unpack "${S}/ooobasis3.0-${x}-${OOVER}-${OOBUILD}.${OOARCH}" done # unpack app-rpms for x in base calc draw impress math writer; do ooodev_unpack "${S}/openoffice.org3-${x}-${OOVER}-${OOBUILD}.${OOARCH}" done # language support strip-linguas en ${LANGS} for i in ${LINGUAS}; do i="${i/_/-}" if [[ ${i} != "en" ]] ; then LANGDIR="${WORKDIR}/${LANG_PACKED}_${i}.${OOBUILD}/RPMS" for j in ${i} ${i}-base ${i}-calc ${i}-draw ${i}-help ${i}-impress ${i}-math ${i}-res ${i}-writer;do ooodev_unpack "${LANGDIR}/ooobasis3.0-$j-${OOVER}-${OOBUILD}.$OOARCH" done ooodev_unpack "${LANGDIR}/openoffice.org3-${i}-${OOVER}-${OOBUILD}.$OOARCH" fi done # DE-Integration # probably still buggy kde-implementation use kde && ooodev_unpack "$S/ooobasis3.0-kde-integration-${OOVER}-${OOBUILD}.${OOARCH}" use gnome && ooodev_unpack "$S/ooobasis3.0-gnome-integration-${OOVER}-${OOBUILD}.${OOARCH}" use java && ooodev_unpack "${S}/ooobasis3.0-javafilter-${OOVER}-${OOBUILD}.${OOARCH}" # dekstop-menu ooodev_unpack "${S}/desktop-integration/openoffice.org3.0-freedesktop-menus-3.0-${OOBUILD}.noarch" } src_install() { #Multilib install dir magic for AMD64 #has_multilib_profile && ABI=x86 INSTDIR="/usr/$(get_libdir)/openoffice" einfo "Installing OpenOffice.org into build root..." dodir ${INSTDIR} mv "${WORKDIR}"/opt/openoffice.org/* "${D}${INSTDIR}" rm -fr "${WORKDIR}"/opt/openoffice.org cp -a "${WORKDIR}"/usr "${WORKDIR}"/opt "${D}" dosym ${D}/usr/$(get_libdir)/openoffice/basis3.0 /opt/openoffice.org3/basis-link # Component symlinks for app in base calc draw impress math writer padmin; do dosym $D/opt/openoffice.org3/program/s${app} /usr/bin/oo${app} done # dosym $D/opt/ooo-dev3/program/spadmin /usr/bin/ooffice-printeradmin # dosym $D/opt/ooo-dev3/program/soffice /usr/bin/soffice # for r in $OOBASE_RPMS; do # ooodev_unpack $S/RPMS/$OOBASE_PREFIX-$r-${OOVER}-${OOBUILD}.$OOARCH # done # # for r in $OO_RPMS; do # ooodev_unpack $S/RPMS/$OO_PREFIX-$r-${OOVER}-${OOBUILD}.$OOARCH # done # # ooodev_unpack $S/RPMS/$OO_PREFIX-3.0.0-${OOBUILD}.$OOARCH # # # Language specific rpms # strip-linguas en ${LANGS} # for i in ${LINGUAS}; do # i="${i/_/-}" # if [[ ${i} != "en" ]] ; then # LANGDIR="${WORKDIR}/OOO300_m${OOMILESTONE}_native_packed-2_${LINGUAS}.${OOBUILD}" # for Y in ${i} ${i}-base ${i}-calc ${i}-draw ${i}-help ${i}-impress ${i}-math ${i}-res ${i}-writer;do # ooodev_unpack ${LANGDIR}/RPMS/$OOBASE_PREFIX-$Y-${OOVER}-${OOBUILD}.$OOARCH # done # ooodev_unpack ${LANGDIR}/RPMS/$OO_PREFIX-${i}-3.0.0-${OOBUILD}.$OOARCH # else # for Y in en-US en-US-base en-US-calc en-US-draw en-US-help en-US-impress en-US-math en-US-res en-US-writer;do # ooodev_unpack $S/RPMS/$OOBASE_PREFIX-$Y-${OOVER}-${OOBUILD}.$OOARCH # done # ooodev_unpack ${S}/RPMS/$OOBASE_PREFIX-en-US-3.0.0-${OOBUILD}.$OOARCH # fi # # done # # # # use_doc || rm "$D/opt/ooo-dev/basis3.0/help/*" # # #kde-integration # #TODO: gnome? domenu,insinto,newins,mime? # # # Menu-entries + Icons (KDE for now) # mkdir -p "${D}usr/share/applications" # for i in base calc draw impress math printeradmin qstart writer;do # sed 's/Exec=ooo-dev3.0 -/Exec=oo/g' "${D}opt/ooo-dev3/share/xdg/"$i.desktop > "${D}usr/share/applications/$i.deskttop" # rm "${D}opt/ooo-dev3/share/xdg/"$i.desktop # done # # # # Component symlinks # for app in base calc draw impress math writer; do # dosym $D/opt/ooo-dev3/program/s${app} /usr/bin/oo${app} # done # # dosym $D/opt/ooo-dev3/program/spadmin /usr/bin/ooffice-printeradmin # dosym $D/opt/ooo-dev3/program/soffice /usr/bin/soffice # # #using external icons because I couldn't find the real ones # cd "${WORKDIR}/ooicons" # rm -f *preview.png # for i in base calc draw impress math writer; do # mv "oo_${i}_v2.png" ooo-dev30-$i.png # done # # #TODO: better way? # insinto /usr/share/icons/hicolor/128x128/apps # doins *.png } src_compile() { :; } pkg_postinst() { # Update mime-databases fdo-mime_desktop_database_update fdo-mime_mime_database_update # update dictionary eselect oodict update --libdir $(get_libdir) # Pax [[ -x /sbin/chpax ]] && [[ -e /usr/$(get_libdir)/openoffice/program/soffice.bin ]] && chpax -zm /usr/$(get_libdir)/openoffice/program/soffice.bin elog " To start OpenOffice.org, run:" elog elog " $ ooffice" elog elog " Also, for individual components, you can use any of:" elog elog " oobase, oocalc, oodraw, ooimpress, oomath, or oowriter" elog elog " Spell checking is now 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. " }