guru/app-office/openoffice-bin/openoffice-bin-4.1.15.ebuild
Sergey Torokhov 7cd8a81120
app-office/openoffice-bin: fix missed RDEPEND
Closes: https://bugs.gentoo.org/932298

Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru>
2024-06-23 01:12:49 +03:00

215 lines
6.5 KiB
Bash

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
inherit desktop pax-utils prefix rpm xdg
BUILDID="9813"
BVER="${PV/_rc*/}-${BUILDID}"
BVER2=${PV}-${BUILDID}
BASIS="ooobasis4.1"
BASIS2="basis4.1"
NM="openoffice"
NM1="${NM}-brand"
NM2="${NM}4"
NM3="${NM2}.$(ver_cut 2-3)"
FILEPATH="https://downloads.sourceforge.net/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 )
"
S="${WORKDIR}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="gnome java"
# TODO: supports ca_XR (Valencian RACV) locale too
LANGS="ast eu bg ca ca-valencia 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
IUSE="${IUSE} l10n_${X}"
SRC_URI+=" l10n_${X}? (
amd64? ( "${FILEPATH}"/Apache_OpenOffice_${PV}_Linux_x86-64_langpack-rpm_${X/ca-valencia/ca-XV}.tar.gz )
x86? ( "${FILEPATH}"/Apache_OpenOffice_${PV}_Linux_x86_langpack-rpm_${X/ca-valencia/ca-XV}.tar.gz ) )"
done
RDEPEND="
!prefix? ( sys-libs/glibc )
>=app-accessibility/at-spi2-core-2.50.1:2
app-arch/unzip
app-arch/zip
>=dev-lang/perl-5.0
dev-libs/dbus-glib
dev-libs/libxml2
media-libs/glu
>=media-libs/freetype-2.1.10-r2
media-libs/libglvnd
sys-libs/ncurses-compat:5
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gdk-pixbuf-xlib
x11-libs/gtk+:2
x11-libs/libX11
x11-libs/libXaw
x11-libs/libXext
x11-libs/libXinerama
x11-libs/pango
x11-libs/libXrandr
"
DEPEND="
${RDEPEND}
sys-apps/findutils
"
PDEPEND="java? ( || ( >=virtual/jre-1.8.0 dev-java/openjdk-jre-bin:11 dev-java/openjdk-bin dev-java/openjdk:11 ) )"
RESTRICT="mirror strip"
pkg_setup() {
QA_PREBUILT="usr/$(get_libdir)/${NM}/program/*"
QA_TEXTRELS="usr/$(get_libdir)/${NM}/program/libvclplug_genli.so"
}
src_unpack() {
unpack ${A}
cp "${FILESDIR}"/{50-${PN},wrapper.in} "${T}" || die
eprefixify "${T}"/{50-${PN},wrapper.in}
# 'pyuno' is excluded from unpack list to switch off Python2 scripts support
for i in base calc core01 core02 core03 core04 core05 core06 core07 draw graphicfilter images impress math ogltrans ooofonts ooolinguistic 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
for l in ${LANGS}; do
if use l10n_${l}; then
# Map ca-valencia to ca-XV used by upstream
case ${l} in
ca-valencia) m=ca-XV ;;
*) m=${l} ;;
esac
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/${NM2}/* "${ED}${INSTDIR}" || die
#Menu entries, icons and mime-types
cd "${ED}${INSTDIR}/share/xdg/" || die
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 || die
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}" || die
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" "${ED}${INSTDIR}/program/libofficebean.so"
# 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}/usr/bin/soffice" || die
# Vulnerable pythonscript.py, bug #677248
# Disable python2 script support bug #715400
rm "${ED}${INSTDIR}/program/python" || die
# remove obsolete gstreamer-0.10 plugin
rm "${ED}${INSTDIR}/program/libavmediagst.so" || die
}
pkg_preinst() {
xdg_pkg_preinst
use gnome && gnome2_icon_savelist
}
pkg_postinst() {
xdg_pkg_postinst
pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/${NM}/program/soffice.bin
# Inform users about python scripting security problems, bug #677248
# and removing it due to the end of python2 support, bug #715400
elog "Python2 scripts support via 'pyuno' module was skipped to unpack"
elog "due to a security vulnerability (CVE-2018-16858)"
elog "and the end of python2 support in Gentoo."
# Inform users about changes of encoding of stored passwords in Apache OpenOffice 4.1.14.
# Notification is from https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+4.1.14+Release+Notes
ewarn "Important Note:"
ewarn "It is recommended to make a backup of the Apache OpenOffice users profile"
ewarn "before installing ${PV}. It is especially essential for users who use"
ewarn "the Master Password functionality and may decide to use an older version later."
ewarn "There is a change in the encoding of stored passwords in this ${PV} release"
ewarn "that may make your user profile unusable for previous versions."
}
pkg_postrm() {
xdg_pkg_postrm
}