Added support for gkrellmd (server) plugins
authorJim Ramsay <lack@gentoo.org>
Mon, 12 Mar 2007 17:39:01 +0000 (17:39 +0000)
committerJim Ramsay <lack@gentoo.org>
Mon, 12 Mar 2007 17:39:01 +0000 (17:39 +0000)
eclass/gkrellm-plugin.eclass

index c515a7037a54fd627d785f86b499269e8feb806e..85cc6a67956819173dde5fae26cef7d29be6c7f9 100644 (file)
@@ -1,6 +1,6 @@
 # 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>
@@ -9,26 +9,30 @@
 #   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
 #
@@ -43,8 +47,12 @@ gkrellm-plugin_dir() {
        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\""
@@ -53,8 +61,15 @@ gkrellm-plugin_pkg_setup() {
 }
 
 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"