# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/eclass/games-ggz.eclass,v 1.5 2009/02/01 17:44:23 mr_bones_ Exp $ inherit base # For GGZ Gaming Zone packages case ${EAPI:-0} in 0|1) EXPORT_FUNCTIONS src_compile src_install pkg_postinst pkg_postrm ;; 2) EXPORT_FUNCTIONS src_configure src_compile src_install pkg_postinst pkg_postrm ;; esac HOMEPAGE="http://www.ggzgamingzone.org/" SRC_URI="mirror://ggz/${PV}/${P}.tar.gz" GGZ_MODDIR="/usr/share/ggz/modules" games-ggz_src_configure() { econf \ --disable-dependency-tracking \ --enable-noregistry="${GGZ_MODDIR}" \ $(has debug ${IUSE} && ! use debug && echo --disable-debug) \ "$@" || die } games-ggz_src_compile() { case ${EAPI:-0} in 0|1) games-ggz_src_configure "$@" ;; esac 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" # ggz-config needs libggz, so it could be broken ggz-config -h &> /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}" find . -type f -name '*.dsc' | while read dsc ; do DESTDIR=${ROOT} ggz-config -Dim "${dsc}" || ((rval++)) done eend ${rval} fi return ${rval} } # Register new modules games-ggz_pkg_postinst() { games-ggz_update_modules } # Unregister old modules games-ggz_pkg_postrm() { games-ggz_update_modules }