summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/xfconf.eclass')
-rw-r--r--eclass/xfconf.eclass135
1 files changed, 135 insertions, 0 deletions
diff --git a/eclass/xfconf.eclass b/eclass/xfconf.eclass
new file mode 100644
index 000000000000..ad3d91aaa536
--- /dev/null
+++ b/eclass/xfconf.eclass
@@ -0,0 +1,135 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/xfconf.eclass,v 1.1 2009/08/01 20:08:30 ssuominen Exp $
+
+# @ECLASS: xfconf.eclass
+# @MAINTAINER:
+# XFCE maintainers <xfce@gentoo.org>
+# @BLURB: Default XFCE ebuild layout
+# @DESCRIPTION:
+# Default XFCE ebuild layout
+
+# @ECLASS-VARIABLE: EAUTORECONF
+# @DESCRIPTION:
+# Run eautoreconf instead of elibtoolize if set "yes"
+
+# @ECLASS-VARIABLE: EINTLTOOLIZE
+# @DESCRIPTION:
+# Run intltoolize --force --copy --automake if set "yes"
+
+# @ECLASS-VARIABLE: DOCS
+# @DESCRIPTION:
+# Define documentation to install
+
+# @ECLASS-VARIABLE: PATCHES
+# @DESCRIPTION:
+# Define patches to apply
+
+# @ECLASS-VARIABLE: XFCONF
+# @DESCRIPTION:
+# Define options for econf
+
+inherit autotools base fdo-mime gnome2-utils libtool
+
+MY_P=${P}
+SRC_URI="mirror://xfce/xfce-${PV}/src/${MY_P}.tar.bz2"
+
+if [[ "${EINTLTOOLIZE}" == "yes" ]]; then
+ _xfce4_intltool="dev-util/intltool"
+fi
+
+if [[ "${EAUTORECONF}" == "yes" ]]; then
+ _xfce4_m4="dev-util/xfce4-dev-tools"
+fi
+
+RDEPEND=""
+DEPEND="${_xfce4_intltool}
+ ${_xfce4_m4}"
+
+unset _xfce4_intltool
+unset _xfce4_m4
+
+EXPF="src_unpack src_compile src_install pkg_preinst pkg_postinst pkg_postrm"
+case ${EAPI:-0} in
+ 2) EXPF="${EXPF} src_prepare src_configure" ;;
+ 1|0) ;;
+ *) die "Unknown EAPI." ;;
+esac
+EXPORT_FUNCTIONS ${EXPF}
+
+# @FUNCTION: xfconf_src_unpack
+# @DESCRIPTION:
+# Run base_src_util autopatch and eautoreconf or elibtoolize
+xfconf_src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ has src_prepare ${EXPF} || xfconf_src_prepare
+}
+
+# @FUNCTION: xfconf_src_prepare
+# @DESCRIPTION:
+# Run base_src_util autopatch and eautoreconf or elibtoolize
+xfconf_src_prepare() {
+ base_src_util autopatch
+
+ if [[ "${EINTLTOOLIZE}" == "yes" ]]; then
+ intltoolize --force --copy --automake || die "intltoolize failed"
+ fi
+
+ if [[ "${EAUTORECONF}" == "yes" ]]; then
+ AT_M4DIR="/usr/share/xfce4/dev-tools/m4macros" eautoreconf
+ else
+ elibtoolize
+ fi
+}
+
+# @FUNCTION: xfconf_src_configure
+# @DESCRIPTION:
+# Run econf with opts in XFCONF variable
+xfconf_src_configure() {
+ econf ${XFCONF}
+}
+
+# @FUNCTION: xfconf_src_compile
+# @DESCRIPTION:
+# Run econf with opts in XFCONF variable
+xfconf_src_compile() {
+ has src_configure ${EXPF} || xfconf_src_configure
+ emake || die "emake failed"
+}
+
+# @FUNCTION: xfconf_src_install
+# @DESCRIPTION:
+# Run emake install and install documentation in DOCS variable
+xfconf_src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ if [[ -n ${DOCS} ]]; then
+ dodoc ${DOCS} || die "dodoc failed"
+ fi
+}
+
+# @FUNCTION: xfconf_pkg_preinst
+# @DESCRIPTION:
+# Run gnome2_icon_savelist
+xfconf_pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+# @FUNCTION: xfconf_pkg_postinst
+# @DESCRIPTION:
+# Run fdo-mime_{desktop,mime}_database_update and gnome2_icon_cache_update
+xfconf_pkg_postinst() {
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+ gnome2_icon_cache_update
+}
+
+# @FUNCTION: xfconf_pkg_postrm
+# @DESCRIPTION:
+# Run fdo-mime_{desktop,mime}_database_update and gnome2_icon_cache_update
+xfconf_pkg_postrm() {
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+ gnome2_icon_cache_update
+}