MeCab およびその Ruby バインディングのインストール
MeCab 本体は AUR にあるので yaourt -S mecab で入る.
ただしこのとき,UTF-8 でしか使う予定はないので PKGBUILD を編集して
./configure --with-charset=utf8 --enable-utf8-only
とした.
次に辞書を入れる.今回は NAIST の辞書を利用する.
AUR にないので,次のような PKGBUILD を用意してインストールした.
pkgname=mecab-naist-jdic pkgver=0.6.3 _date=20100801 pkgrel=1 pkgdesc='NAIST Japanese Dictionary for MeCab' arch=('i686' 'x86_64') url='http://naist-jdic.sourceforge.jp/' license=('custom') depends=('mecab') source=(http://dl.sourceforge.jp/naist-jdic/48487/mecab-naist-jdic-${pkgver}-${_date}.tar.gz) md5sums=('30af2251331b9d6141748caf033821e3') build() { cd ${srcdir}/${pkgname}-${pkgver}-${_date} ./configure --prefix=/usr --with-charset=utf8 || return 1 make } package() { cd ${srcdir}/${pkgname}-${pkgver}-${_date} make DESTDIR=${pkgdir} install install -D -m644 ${srcdir}/${pkgname}-${pkgver}-${_date}/COPYING \ ${pkgdir}/usr/share/licenses/${pkgname}/COPYING }
ここでも charset について UTF-8 を指定している.
この後、/usr/mecab/mecabrc の dicdir を /usr/lib/mecab/dic/naist-jdic に変更する.
最後に Ruby バインディングをインストールする.
Python バインディングは AUR にあったが,Ruby のは無かったのでこれも自分で PKGBUILD を書くことに.
pkgname=mecab-ruby pkgver=0.98 pkgrel=1 pkgdesc='Morphological Analysis Tool - Ruby interface' arch=('i686' 'x86_64') url='http://mecab.sourceforge.net/' depends=('ruby' 'mecab') license=('BSD' 'LGPL' 'GPL') source=(http://surfnet.dl.sourceforge.net/sourceforge/mecab/${pkgname}-${pkgver}.tar.gz) md5sums=('d486f70f30cbaf2cf5fbbc17eb268371') build() { cd ${srcdir}/${pkgname}-${pkgver} ruby extconf.rb || return 1 make } package() { cd ${srcdir}/${pkgname}-${pkgver} make DESTDIR=${pkgdir} install }
Ruby 1.9 では MeCab::Tagger#parse や MeCab::Node#surface, MeCab::Node#feature の encoding が ASCII-8BIT なので force_encoding(Encoding::UTF_8) などとする必要があるみたい.