| # 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 |
| } |