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) などとする必要があるみたい.