Groonga Advent Calendar 2015の17日目の記事です。
はじめに
GroongaのFormulaはHomebrew本家に取り込まれており、
$ brew install groonga
でインストールする事ができます。
ただし、デフォルトのオプションではsuggestプラグインがビルドされず、lz4圧縮がサポートされていない状態でのGroongaがインストールされます。
将来的にやりたい事リスト
- lz4をデフォルトで有効にする
- suggestプラグインをデフォルトで有効にする
- libstemmer-cに依存しているプラグインをビルド出来るようにする(デフォルト無効でもよい)
それぞれどのようにしたら達成出来そうか
lz4をデフォルトで有効にする
1から見ていきましょう。これは、
デフォルトのargsに含める: https://github.com/Homebrew/homebrew/blob/0ba8c8b4ba0f9d83d51d3645e160c03972f45626/Library/Formula/groonga.rb#L56
optionalを外す: https://github.com/Homebrew/homebrew/blob/0ba8c8b4ba0f9d83d51d3645e160c03972f45626/Library/Formula/groonga.rb#L29
で達成出来そうですね。
suggestプラグインをデフォルトで有効にする
これも、
zeromqを毎度enableにする: https://github.com/Homebrew/homebrew/blob/0ba8c8b4ba0f9d83d51d3645e160c03972f45626/Library/Formula/groonga.rb#L47-L52
とするとできそうですね。
libstemmer-cに依存するプラグインをビルド出来るようにする。
これが一番難しいかもしれません。実はHomebrewにはlibstemmer_cのFormulaがありません。また、snowball-cのホームページが移設された関係上、以前はアクセス出来ていたtarballがダウンロード出来なくなってしまっています。そのため、新たにFormulaを作成する必要があります。ただし、完全に新規に作成と言うわけではなく、 https://github.com/cosmo0920/homebrew-tokenizers/blob/master/libstemmer.rb というlibstemmerのCライブラリをインストールする以前書いたFormulaがあるので、これを参考にすると良いでしょう。
おわりに
GroongaのHomebrewでのFormulaの課題の現状を解説しました。
本番環境はLinuxですが開発はOS X上で行う、という開発者さんも少なくないと思います。
現状CentOSとUbuntu, Debian, FedoraでのLinux向けのサポートはかなり活発に行われていますが、OS Xや挙げた以外のLinuxディストリビューションでのサポートはベストエフォートでの対応となっています。特にOS Xを使っているのであれば、まだまだ改善するべき点が多く残されています。
OS XでGroongaをお使いのユーザーさんはこれを機にHomebrewへの貢献に挑戦してみませんか?
それではOS Xでも良い全文検索を!