# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/eclass/cannadic.eclass,v 1.15 2008/09/10 08:15:48 pva Exp $ # @ECLASS: cannadic.eclass # @MAINTAINER: # ??? # # Original author: Mamoru KOMACHI <usata@gentoo.org> # @BLURB: Function for Canna compatible dictionaries # @DESCRIPTION: # The cannadic eclass is used for installation and setup of Canna # compatible dictionaries within the Portage system. EXPORT_FUNCTIONS src_install pkg_setup pkg_postinst pkg_postrm IUSE="" DESCRIPTION="Based on the $ECLASS eclass" HOMEPAGE="http://canna.sourceforge.jp/" # you need to change this! SRC_URI="mirror://gentoo/${P}.tar.gz" LICENSE="public-domain" SLOT="0" S="${WORKDIR}" DICSDIRFILE="${FILESDIR}/*.dics.dir" CANNADICS="${CANNADICS}" # (optional) DOCS="README*" # You don't need to modify these #local cannadir dicsdir cannadir="${ROOT}/var/lib/canna/dic/canna" dicsdir="${ROOT}/var/lib/canna/dic/dics.d" # @FUNCTION: cannadic_pkg_setup # @DESCRIPTION: # Sets up cannadic dir cannadic_pkg_setup() { keepdir $cannadir fowners bin:bin $cannadir fperms 0775 $cannadir } # @FUNCTION: cannadic-install # @DESCRIPTION: # Installs dictionaries to cannadir cannadic-install() { insinto $cannadir insopts -m0664 -o bin -g bin doins "$@" } # @FUNCTION: dicsdir-install # @DESCRIPTION: # Installs dics.dir from ${DICSDIRFILE} dicsdir-install() { insinto ${dicsdir} doins ${DICSDIRFILE} } # @FUNCTION: cannadic_src_install # @DESCRIPTION: # Installs all dictionaries under ${WORKDIR} # plus dics.dir and docs cannadic_src_install() { for f in *.c[btl]d *.t ; do cannadic-install $f done 2>/dev/null dicsdir-install || die dodoc ${DOCS} } # @FUNCTION: update-cannadic-dir # @DESCRIPTION: # Updates dics.dir for Canna Server, script for this part taken from Debian GNU/Linux # # compiles dics.dir files for Canna Server # Copyright 2001 ISHIKAWA Mutsumi # Licensed under the GNU General Public License, version 2. See the file # /usr/portage/license/GPL-2 or <http://www.gnu.org/copyleft/gpl.txt>. update-cannadic-dir() { einfo einfo "Updating dics.dir for Canna ..." einfo # write new dics.dir file in case we are interrupted cat >${cannadir}/dics.dir.update-new<<-EOF # dics.dir -- automatically generated file by Portage. # DO NOT EDIT BY HAND. EOF for file in ${dicsdir}/*.dics.dir ; do echo "# $file" >> ${cannadir}/dics.dir.update-new cat $file >> ${cannadir}/dics.dir.update-new einfo "Added $file." done mv ${cannadir}/dics.dir.update-new ${cannadir}/dics.dir einfo einfo "Done." einfo } # @FUNCTION: cannadic_pkg_postinst # @DESCRIPTION: # Updates dics.dir and print out notice after install cannadic_pkg_postinst() { update-cannadic-dir einfo einfo "Please restart cannaserver to fit the changes." einfo "You need to modify your config file (~/.canna) to enable dictionaries." if [ -n "${CANNADICS}" ] ; then einfo "e.g) add $(for d in ${CANNADICS}; do echo -n "\"$d\" " done)to section use-dictionary()." einfo "For details, see documents under /usr/share/doc/${PF}" fi einfo "If you do not have ~/.canna, you can find sample files in /usr/share/canna." ewarn "If you are upgrading from existing dictionary, you may need to recreate" ewarn "user dictionary if you have one." einfo } # @FUNCTION: cannadic_pkg_postrm # @DESCRIPTION: # Updates dics.dir and print out notice after uninstall cannadic_pkg_postrm() { update-cannadic-dir einfo einfo "Please restart cannaserver to fit changes." einfo "and modify your config file (~/.canna) to disable dictionary." if [ -n "${CANNADICS}" ] ; then einfo "e.g) delete $(for d in ${CANNADICS}; do echo -n "\"$d\" " done)from section use-dictionary()." fi einfo }