aboutsummaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorSerkan Kaba <serkan@gentoo.org>2009-04-10 18:23:25 +0000
committerSerkan Kaba <serkan@gentoo.org>2009-04-10 18:23:25 +0000
commite0ca6c2e71f435a4eb0e801d1155365f97a016cd (patch)
tree4459cd40be0fb4bf430c93e608c4ec74f6997702 /eclass
parentRevbump to use swt:3.4 (diff)
downloadjava-e0ca6c2e71f435a4eb0e801d1155365f97a016cd.tar.gz
java-e0ca6c2e71f435a4eb0e801d1155365f97a016cd.tar.bz2
java-e0ca6c2e71f435a4eb0e801d1155365f97a016cd.zip
Add openoffice-ext eclass to java-overlay.
svn path=/java-overlay/; revision=7668
Diffstat (limited to 'eclass')
-rw-r--r--eclass/openoffice-ext.eclass108
1 files changed, 108 insertions, 0 deletions
diff --git a/eclass/openoffice-ext.eclass b/eclass/openoffice-ext.eclass
new file mode 100644
index 00000000..ec44b683
--- /dev/null
+++ b/eclass/openoffice-ext.eclass
@@ -0,0 +1,108 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+ECLASS="openoffice-ext"
+INHERITED="$INHERITED $ECLASS"
+
+inherit eutils multilib
+
+# list of extentions
+# OOO_EXTENSIONS=""
+
+OOO_ROOT_DIR="/usr/$(get_libdir)/openoffice"
+OOO_PROGRAM_DIR="${OOO_ROOT_DIR}/program"
+UNOPKG="${OOO_PROGRAM_DIR}/unopkg"
+OOO_EXT_DIR="${OOO_ROOT_DIR}/share/extension/install"
+OPENOFFICE_EXT_OPT_USE=${OPENOFFICE_EXT_OPT_USE:-openoffice}
+
+add_extension() {
+ ebegin "Adding extension $1"
+ INSTDIR=$(mktemp -d --tmpdir=${T})
+ ${UNOPKG} add --shared $1 \
+ "-env:UserInstallation=file:///${INSTDIR}" \
+ "-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1"
+ if [ -n ${INSTDIR} ]; then rm -rf ${INSTDIR}; fi
+ eend
+}
+
+flush_unopkg_cache() {
+ ${UNOPKG} list --shared > /dev/null 2>&1
+}
+
+remove_extension() {
+ if ${UNOPKG} list --shared $1 >/dev/null; then
+ ebegin "Removing extension $1"
+ INSTDIR=$(mktemp -d --tmpdir=${T})
+ ${UNOPKG} remove --shared $1 \
+ "-env:UserInstallation=file://${INSTDIR}" \
+ "-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1"
+ if [ -n ${INSTDIR} ]; then rm -rf ${INSTDIR}; fi
+ eend
+ flush_unopkg_cache
+ fi
+}
+
+_openoffice-utils_src_install() {
+ cd "${S}" || die
+ insinto ${OOO_EXT_DIR}
+ for i in ${OOO_EXTENSIONS}
+ do
+ doins ${i} || die "doins failed."
+ done
+}
+
+_openoffice-utils_pkg_postinst() {
+ for i in ${OOO_EXTENSIONS}
+ do
+ add_extension ${OOO_EXT_DIR}/${i}
+ done
+
+}
+
+_openoffice-utils_pkg_prerm() {
+ for i in ${OOO_EXTENSIONS}
+ do
+ remove_extension ${i}
+ done
+}
+
+_openoffice-ext_check_use() {
+ return $(hasq ${OPENOFFICE_EXT_OPT_USE} "${IUSE}")
+}
+
+if _openoffice-ext_check_use; then
+ DEPEND="${OPENOFFICE_EXT_OPT_USE}? ( >=virtual/ooo-3.0 )"
+ RDEPEND="${OPENOFFICE_EXT_OPT_USE}? ( >=virtual/ooo-3.0 )"
+else
+ DEPEND=">=virtual/ooo-3.0"
+ RDEPEND=">=virtual/ooo-3.0"
+fi
+
+openoffice-ext_src_install() {
+ if _openoffice-ext_check_use; then
+ use ${OPENOFFICE_EXT_OPT_USE} && _openoffice-utils_src_install
+ else
+ _openoffice-utils_src_install
+ fi
+
+}
+
+openoffice-ext_pkg_postinst() {
+ if _openoffice-ext_check_use; then
+ use ${OPENOFFICE_EXT_OPT_USE} && _openoffice-utils_pkg_postinst
+ else
+ _openoffice-utils_pkg_postinst
+ fi
+
+}
+
+openoffice-ext_pkg_prerm() {
+ if _openoffice-ext_check_use; then
+ use ${OPENOFFICE_EXT_OPT_USE} && _openoffice-utils_pkg_prerm
+ else
+ _openoffice-utils_pkg_prerm
+ fi
+}
+
+EXPORT_FUNCTIONS src_install pkg_postinst pkg_prerm