# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/gkrellm-plugin.eclass,v 1.1 2007/03/09 15:35:02 lack Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/gkrellm-plugin.eclass,v 1.2 2007/03/12 17:39:01 lack Exp $
#
# Original Author: Jim Ramsay <lack@gentoo.org>
# Provides common methods used by (almost) all gkrellm plugins:
# - Sets up default dependencies
# - Adds pkg_setup check to ensure gkrellm was built with USE="X" (bug
-# 167227)
-# - Provides 'gkrellm-plugin_dir' function in lieu of hard-coding the plugins
-# directory (which *may* change in the future)
+# 167227)
+# - Provides utility routines in lieu of hard-coding the plugin directories.
# - Provides the most common src_install method to avoid code duplication.
#
# Utility Routines:
# gkrellm-plugin_dir - Returns the gkrellm-2 plugin directory
+# gkrellm-plugin_server_dir - Returns the gkrellm-2 server plugin directory
#
# Environment:
-# For pkg_setup:
-# PLUGIN_NO_XCHECK - If set, the default check ensuring that gkrellm2 is
-# built with USE="X" is skipped, allowing plugins to build with the
-# gkrellmd-only case. Defaults to unset.
# For src_install:
# PLUGIN_SO - The name of the plugin's .so file which will be installed in
# the plugin dir. Defaults to "${PN}.so".
# PLUGIN_DOCS - An optional list of docs to be installed. Defaults to
# unset.
+# PLUGIN_SERVER_SO - The name of the plugin's server plugin .so portion.
+# Defaults to unset.
+# Important: This will also cause the pkg_setup check to be skipped, so
+# you need to check 'build_with_use app-admin/gkrellm X' in your
+# src_compile and only compile the GUI portion if that returns true. (see
+# x11-plugins/gkrelltop as an example)
#
# Changelog:
+# 12 March 2007: Jim Ramsay <lack@gentoo.org>
+# - Added server plugin support
# 09 March 2007: Jim Ramsay <lack@gentoo.org>
# - Initial commit
#
echo /usr/$(get_libdir)/gkrellm2/plugins
}
+gkrellm-plugin_server_dir() {
+ echo /usr/$(get_libdir)/gkrellm2/plugins-gkrellmd
+}
+
gkrellm-plugin_pkg_setup() {
- if [[ -z "${PLUGIN_NO_XCHECK}" ]] &&
+ if [[ -z "${PLUGIN_SERVER_SO}" ]] &&
! built_with_use app-admin/gkrellm X; then
eerror "This plugin requires the X frontend of gkrellm."
eerror "Please re-emerge app-admin/gkrellm with USE=\"X\""
}
gkrellm-plugin_src_install() {
- insinto $(gkrellm-plugin_dir)
- doins ${PLUGIN_SO:-${PN}.so} || die "Plugin shared library was not installed"
+ if built_with_use app-admin/gkrellm X; then
+ insinto $(gkrellm-plugin_dir)
+ doins ${PLUGIN_SO:-${PN}.so} || die "Plugin shared library was not installed"
+ fi
+
+ if [[ -n "${PLUGIN_SERVER_SO}" ]]; then
+ insinto $(gkrellm-plugin_server_dir)
+ doins ${PLUGIN_SERVER_SO} || die "Server plugin shared library was not installed"
+ fi
DDOCS="README* Change* AUTHORS FAQ TODO INSTALL"