summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/games-ggz.eclass71
1 files changed, 71 insertions, 0 deletions
diff --git a/eclass/games-ggz.eclass b/eclass/games-ggz.eclass
new file mode 100644
index 000000000000..60a531c93708
--- /dev/null
+++ b/eclass/games-ggz.eclass
@@ -0,0 +1,71 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/games-ggz.eclass,v 1.1 2007/02/22 09:36:03 nyhm Exp $
+
+# For GGZ Gaming Zone packages
+
+EXPORT_FUNCTIONS src_compile src_install pkg_postinst pkg_postrm
+
+HOMEPAGE="http://www.ggzgamingzone.org/"
+SRC_URI="mirror://ggz/${PV}/${P}.tar.gz"
+
+GGZ_MODDIR="/usr/share/ggz/modules"
+
+# Output the configure option to disable "General Debugging"
+games-ggz_debug() {
+ if has debug ${IUSE} && ! use debug ; then
+ echo --disable-debug
+ fi
+}
+
+games-ggz_src_compile() {
+ econf \
+ --disable-dependency-tracking \
+ --enable-noregistry="${GGZ_MODDIR}" \
+ $(games-ggz_debug) \
+ "$@" || die
+ emake || die "emake failed"
+}
+
+games-ggz_src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ local f
+ for f in AUTHORS ChangeLog NEWS QuickStart.GGZ README* TODO ; do
+ [[ -f ${f} ]] && dodoc ${f}
+ done
+}
+
+# Update ggz.modules with the .dsc files from ${GGZ_MODDIR}.
+games-ggz_update_modules() {
+ [[ ${EBUILD_PHASE} == "postinst" ]] || [[ ${EBUILD_PHASE} == "postrm" ]] \
+ || die "${FUNCNAME} can only be used in pkg_postinst or pkg_postrm"
+
+ type -p ggz-config > /dev/null || return 1
+ local confdir=${ROOT}/etc
+ local moddir=${ROOT}/${GGZ_MODDIR}
+ local dsc rval=0
+
+ mkdir -p "${confdir}"
+ echo -n > "${confdir}"/ggz.modules
+ if [[ -d ${moddir} ]] ; then
+ ebegin "Installing GGZ modules"
+ cd "${moddir}"
+ for dsc in $(find . -type f -name '*.dsc') ; do
+ debug-print ${dsc}
+ DESTDIR=${ROOT} ggz-config -Dim ${dsc} || rval=1
+ done
+ eend ${rval}
+ fi
+ return ${rval}
+}
+
+# Register new modules
+games-ggz_pkg_postinst() {
+ has games ${INHERITED} && games_pkg_postinst
+ games-ggz_update_modules
+}
+
+# Unregister old modules
+games-ggz_pkg_postrm() {
+ games-ggz_update_modules
+}