というわけで、
とうとう高みを目指しているプロジェクトの様子を伺おうと、ラップトップでマルチブートさせてみました。
日本語入力がibus-anthyだけでしたので、mozc
がない理由を調べていました。ビルドのステップ自体は簡易化されています。
他のディストリビューションで普通に長らく使われてきたのですから、mozc本体には当然問題はありません。
LinuxやAndroid向けは、Docker上のUbuntuコンテナで動かし、バイナリを作る形のようです。
今はプロセスが明確化されて、パッケージもビルドも、メンテナンスしてくれている人たち。わかる人たちがいる限り、私達は恩恵を受け続けることができますね。
Alpine Linux上でもmozcの恩恵を受けようと思い立ちました。
edgeからgypがありませんでしたが、ビルドできました。
コンテナ内で最低限の最新の状態で、samurai(ninja)もエラーを出さず動いてくれました。
メンテナンスされている方々、ご苦労さまです。ありがとうございます。
手を加えたところは、clang前提のビルド環境でしたが、gccでもビルドできることを確認していたので、それに合わせて、gyp/common.gypiの中身を調整。
base/mutex.ccで、RECURSIVE_NPからRECURSIVEにするだけの、分岐の修正一箇所。
固有のヘッダーの場所を変えるなど、トリッキーなことをすれば、alpine上でclangでもビルドできることは確認しています。
あとはソースからインストールしても同じですが、abuildの仕組みを把握するために、ninjaのAPKGBUILDやibus-anthyさんのパッケージを参考にしました。
ibus-mozcのパッケージをaportsのtestingにのっけるには、、、手順を確認しないといけませんね。メールは送ったけど、ninjaがメンテナンスからedgeでは外れてるみたいなので、そこの関係を説明しないと、他の人もつまずくかもしれません。samuraiパッケージで動きました。
現状、alpine linux上で、ibus-anthyもibus-mozcも切り替えて、どちらも動作してくれました。
設定パネルも表示できて、普通に日本語入力ができるようになりました。
日本語だよ。わーい。本当にありがたい。
インストール方法については、ibus-mozcのビルド記が簡潔で参考になりました。
上記の参考サイトを参考にすれば、いろいろな環境で手動でもインストール可能かと思います。
パッケージはaportsのtestingが受け付けられたら、なのですが、ninjaとの関係も含めて整理しないとOKされないかなぁ。
またクリーンな素のalpineコンテナ上でビルドプロセスやパッケージの依存関係を確認して整理してみたいと思います。
みなさん、いろんな情報をまとめてくださっていて、ありがとうございます。
以上です。
'mozc google'
'mozc branch alpine_edge'
apk update
apk upgrade
apk add alpine-sdk clang samurai ibus-dev qt5-qtbase-dev gtk+2.0-dev \
py3-core-api samurai pkgconf git clang
git clone --branch alpine_edge --single-branch --depth 1 --recursive https://github.com/phoepsilonix/mozc mozc
git submodule update --init
cd mozc/src
python3 build_mozc.py gyp
python3 build_mozc.py build -c Release package