summaryrefslogtreecommitdiff
path: root/eclass/libreoffice-l10n-2.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/libreoffice-l10n-2.eclass')
-rw-r--r--eclass/libreoffice-l10n-2.eclass139
1 files changed, 139 insertions, 0 deletions
diff --git a/eclass/libreoffice-l10n-2.eclass b/eclass/libreoffice-l10n-2.eclass
new file mode 100644
index 00000000..79d74359
--- /dev/null
+++ b/eclass/libreoffice-l10n-2.eclass
@@ -0,0 +1,139 @@
+# Copyright 2004-2012 Sabayon Linux
+# Distributed under the terms of the GNU General Public License v2
+# $
+
+OO_EXTENSIONS=(
+ "472ffb92d82cf502be039203c606643d-Sun-ODF-Template-Pack-en-US_1.0.0.oxt"
+ "53ca5e56ccd4cab3693ad32c6bd13343-Sun-ODF-Template-Pack-de_1.0.0.oxt"
+ "4ad003e7bbda5715f5f38fde1f707af2-Sun-ODF-Template-Pack-es_1.0.0.oxt"
+ "a53080dc876edcddb26eb4c3c7537469-Sun-ODF-Template-Pack-fr_1.0.0.oxt"
+ "09ec2dac030e1dcd5ef7fa1692691dc0-Sun-ODF-Template-Pack-hu_1.0.0.oxt"
+ "b33775feda3bcf823cad7ac361fd49a6-Sun-ODF-Template-Pack-it_1.0.0.oxt"
+)
+
+inherit base rpm multilib versionator office-ext
+
+MY_LANG=${PN/libreoffice-l10n-/}
+MY_LANG=${MY_LANG/_/-}
+
+# export all the available functions here
+EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install pkg_postinst pkg_prerm
+
+# @ECLASS-VARIABLE: L10N_LANG
+# @DESCRIPTION:
+# Localization language name
+L10N_LANG="${L10N_LANG:-${MY_LANG}}"
+
+# @ECLASS-VARIABLE: HELPPACK_AVAIL
+# @DESCRIPTION:
+# Set this to "0" if help pack package is not available
+HELPPACK_AVAIL="${HELPPACK_AVAIL:-1}"
+
+# @ECLASS-VARIABLE: LANGPACK_AVAIL
+# @DESCRIPTION:
+# Set this to "0" if lang pack package is not available
+LANGPACK_AVAIL="${LANGPACK_AVAIL:-1}"
+
+DESCRIPTION="LibreOffice.org ${L10N_LANG} localisation"
+HOMEPAGE="http://www.documentfoundation.org"
+RESTRICT="nomirror"
+
+L10N_VER="$(get_version_component_range 1-3)"
+L10N_RC_VERSION="rc2"
+LO_BRANCH=$(get_version_component_range 1-2)
+
+BASE_SRC_URI="http://download.documentfoundation.org/libreoffice/stable/${L10N_VER}/rpm"
+SRC_URI=""
+# try guessing
+if [ "${LANGPACK_AVAIL}" = "1" ]; then
+ SRC_URI+="${BASE_SRC_URI}/x86/LibO_${L10N_VER}_Linux_x86_langpack-rpm_${MY_LANG}.tar.gz"
+fi
+if [ "${HELPPACK_AVAIL}" = "1" ]; then
+ SRC_URI+=" ${BASE_SRC_URI}/x86/LibO_${L10N_VER}_Linux_x86_helppack-rpm_${MY_LANG}.tar.gz"
+fi
+
+IUSE=""
+
+EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice"
+TDEPEND=""
+if [[ "${MY_LANG}" == "en_US" ]]; then
+ for i in ${OO_EXTENSIONS[@]}; do
+ TDEPEND+=" ${EXT_URI}/${i}"
+ done
+ SRC_URI+=" templates? ( ${TDEPEND} )"
+ IUSE+=" templates"
+fi
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="=app-office/libreoffice-${LO_BRANCH}*"
+DEPEND="dev-util/pkgconfig
+ dev-util/intltool"
+
+S="${WORKDIR}"
+
+OOO_INSTDIR="/usr/$(get_libdir)/libreoffice"
+
+libreoffice-l10n-2_src_unpack() {
+ default
+
+ local lang="${MY_LANG}"
+ local dir=${lang/_/-}
+ # for english we provide just helppack, as translation is always there
+ if [[ "${LANGPACK_AVAIL}" == "1" ]]; then
+ rpmdir="LibO_${L10N_VER}${L10N_RC_VERSION}_Linux_x86_langpack-rpm_${dir}/RPMS/"
+ [[ -d ${rpmdir} ]] || die "Missing directory: \"${rpmdir}\""
+ # First remove dictionaries, we want to use system ones.
+ rm -rf "${S}/${rpmdir}/"*dict*.rpm
+ einfo "Unpacking Langpack"
+ rpm_unpack "./${rpmdir}/"*.rpm
+ fi
+ if [[ "${HELPPACK_AVAIL}" == "1" ]]; then
+ rpmdir="LibO_${L10N_VER}${L10N_RC_VERSION}_Linux_x86_helppack-rpm_${dir}/RPMS/"
+ [[ -d ${rpmdir} ]] || die "Missing directory: \"${rpmdir}\""
+ einfo "Unpacking Helppack"
+ rpm_unpack ./"${rpmdir}/"*.rpm
+ fi
+ if [[ -n "${TDEPEND}" ]]; then
+ if use templates; then
+ for i in ${OO_EXTENSIONS[@]}; do
+ if [[ ! -f "${S}/${i}" ]]; then
+ cp -v "${DISTDIR}/${i}" "${S}"
+ ooextused+=( "${i}" )
+ fi
+ done
+ fi
+ fi
+ OO_EXTENSIONS=()
+ for i in ${ooextused[@]}; do
+ OO_EXTENSIONS+=( ${i} )
+ done
+}
+
+libreoffice-l10n-2_src_prepare() { :; }
+libreoffice-l10n-2_src_configure() { :; }
+libreoffice-l10n-2_src_compile() { :; }
+
+libreoffice-l10n-2_src_install() {
+ local dir="${S}"/opt/libreoffice${LO_BRANCH}/
+ # Condition required for people that do not install anything eg no linguas
+ # or just english with no offlinehelp.
+ if [[ -d "${dir}" ]] ; then
+ insinto /usr/$(get_libdir)/libreoffice/
+ doins -r "${dir}"/*
+ fi
+ # remove extensions that are in the l10n for some weird reason
+ rm -rf "${ED}"/usr/$(get_libdir)/libreoffice/share/extensions/
+
+ echo "${OO_EXTENSIONS[@]}"
+ office-ext_src_install
+}
+
+libreoffice-l10n-2_pkg_postinst() {
+ office-ext_pkg_postinst
+}
+libreoffice-l10n-2_pkg_prerm() {
+ office-ext_pkg_prerm
+}