| # Copyright 1999-2012 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| inherit cannadic eutils multilib |
| |
| MY_P="Canna${PV//./}" |
| MY_P="${MY_P/_/}" |
| |
| DESCRIPTION="A client-server based Kana-Kanji conversion system" |
| HOMEPAGE="http://canna.sourceforge.jp/" |
| SRC_URI="mirror://sourceforge.jp/canna/9565/${MY_P}.tar.bz2" |
| |
| LICENSE="MIT GPL-2" |
| SLOT="0" |
| KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86" |
| IUSE="" |
| |
| DEPEND=">=sys-apps/sed-4 |
| x11-misc/gccmakedep |
| x11-misc/imake" |
| RDEPEND="" |
| |
| S="${WORKDIR}/${MY_P}" |
| |
| src_unpack() { |
| unpack ${A} |
| cd "${S}" |
| |
| find . -name '*.man' -o -name '*.jmn' | xargs sed -i.bak -e 's/1M/8/g' || die |
| sed -e "s%@cannapkgver@%${PF}%" \ |
| "${FILESDIR}"/${PN}-3.7-gentoo.diff.in > "${T}"/${PF}-gentoo.diff || die |
| epatch "${T}"/${PF}-gentoo.diff |
| |
| # bug #248723 |
| epatch "${FILESDIR}"/${P}-strip.patch |
| |
| # Multilib-strict fix for amd64 |
| sed -i -e "s:\(DefLibCannaDir.*\)/lib:\1/$(get_libdir):g" Canna.conf* || die |
| # fix deprecated sort syntax |
| sed -e 's:^\(sortcmd=\".* -s\).*$:\1 -k 1,1\":' \ |
| -i cmd/mkbindic/mkbindic.cpp || die |
| |
| cd "${S}"/dic/phono |
| epatch "${FILESDIR}"/${PN}-kpdef-gentoo.diff |
| |
| } |
| |
| src_compile() { |
| xmkmf || die |
| |
| #make libCannaDir=../lib/canna canna || die |
| # bug #279706 |
| emake -j1 CDEBUGFLAGS="${CFLAGS}" canna || die |
| |
| #if use doc ; then |
| # einfo "Compiling DVI, PS (and PDF) document" |
| # cd doc/man/guide/tex |
| # xmkmf || die |
| # emake -j1 JLATEXCMD=platex \ |
| # DVI2PSCMD="dvips -f" \ |
| # canna.dvi canna.ps || die |
| # if has_version 'app-text/dvipdfmx' && \ |
| # ( has_version 'app-text/acroread' \ |
| # || has_version 'app-text/xpdf-japanese' ); then |
| # emake -j1 JLATEXCMD=platex \ |
| # DVI2PSCMD="dvips -f" \ |
| # canna.pdf || die |
| # fi |
| #fi |
| } |
| |
| src_install() { |
| emake DESTDIR="${D}" install || die |
| emake DESTDIR="${D}" install.man || die |
| |
| # install default.canna (removed from Canna36p4) |
| insinto /usr/share/canna |
| newins misc/initfiles/verbose.canna default.canna |
| |
| # cannakill should link to /usr/bin/catdic |
| dosym ../bin/catdic /usr/sbin/cannakill |
| |
| dodir /usr/share/man/man8 /usr/share/man/ja/man8 |
| for man in cannaserver cannakill ; do |
| for mandir in "${D}"/usr/share/man "${D}"/usr/share/man/ja ; do |
| mv ${mandir}/man1/${man}.1 ${mandir}/man8/${man}.8 |
| done |
| done |
| |
| dodoc CHANGES.jp ChangeLog INSTALL* README* WHATIS* |
| |
| #if use doc ; then |
| # insinto /usr/share/doc/${PF} |
| # doins doc/man/guide/tex/canna.{dvi,ps,pdf} |
| #fi |
| |
| newinitd "${FILESDIR}"/${P}.initd canna || die |
| newconfd "${FILESDIR}"/${P}.confd canna || die |
| insinto /etc/ ; newins "${FILESDIR}"/canna.hosts hosts.canna || die |
| keepdir /var/log/canna/ || die |
| |
| # for backward compatibility |
| dosbin "${FILESDIR}"/update-canna-dics_dir |
| |
| insinto /var/lib/canna/dic/dics.d/ |
| newins "${D}"/var/lib/canna/dic/canna/dics.dir 00canna.dics.dir |
| |
| # fix permission for user dictionary |
| keepdir /var/lib/canna/dic/{user,group} |
| fowners root:bin /var/lib/canna/dic/{user,group} |
| fperms 775 /var/lib/canna/dic/{user,group} |
| } |
| |
| pkg_postinst() { |
| update-cannadic-dir |
| elog |
| elog "Canna dictionary format has been changed." |
| elog "You should rebuild app-dict/canna-* after emerge." |
| elog |
| } |
| |
| pkg_prerm() { |
| if [ -S /tmp/.iroha_unix/IROHA ] ; then |
| # make sure cannaserver get stopped because otherwise |
| # we cannot stop it with /etc/init.d after emerge -C canna |
| einfo |
| einfo "Stopping Canna for safe unmerge" |
| einfo |
| /etc/init.d/canna stop |
| touch "${T}"/canna.cookie |
| fi |
| } |
| |
| pkg_postrm() { |
| if [ -f /usr/sbin/cannaserver -a -e "${T}"/canna.cookie ] ; then |
| #update-cannadic-dir |
| einfo |
| einfo "Restarting Canna" |
| einfo |
| /etc/init.d/canna start |
| rm -f "${T}"/canna.cookie |
| fi |
| } |