mirror of
https://github.com/gentoo-mirror/guru.git
synced 2025-04-19 07:49:00 -04:00
Closes: https://bugs.gentoo.org/932298 Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru>
215 lines
6.5 KiB
Bash
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
|
|
}
|