MacUIM だいぶ古くなってたからな。
学科のLT大会を聞きながら bottle 作ってました。
狙いは Google のかな漢字変換 Mozc と fctix(中国製の変換サーバ)を xterm (uxterm は resource名のオプションを設定するscript)に接続するだったんですが...
xterm は kinput2 に相当する helper がないとだめ。XIMは古くて ibus と fctix が開発されてるんだが、
uim は開発が停滞 Mozc と接続するには Mozc にいろいろ入れないといけないのだが、pull req を蹴られたらしい
Anthy は未踏の scheme base の変換エンジンだがいかんせん古くて、こっちも停滞
fctix は OS X で build した痕跡がない (sys/endian.h を使ってるとか)
とかいろいろあって。でも、Anthy/uim は古いとはいえども、Linux ではmajorだったので今でも動く。ところが、
さすがに、どっちも10年前のソースコードなので古い
って問題が。さすがに32bitだったりK&Rだったりはしないわけですが。macOSがあほだってのもあるね。
fcitx-mozc / fctix は Qt が邪魔。。C++ なので極めてソース互換性が低い。少しの版違いで確実に動かなくて直し方が非自明
だが、Qt を外してしまえばまぁ。Qt4 というお荷物があるらしい。そして、fcitx-mozc は Qt4 依存。
cmake の option や build option で Qt4 を外せばよい
uim は make が xcrun "$*" なので libtool がバグる。なので、/usr/bin/make を使う
PKG_CONFIG_PATH を指定しないと /opt/X11 を見つけられない
configureのsnfprintf のバグの検出がバグってて、しかも、独自snprintfの実装がva_argの破壊代入で古すぎる
そもそも、configure 単体では動かなくて git submodule 関係を処理する shell script 付き
sed で brew の中からパッチ当て
install が svg と png を間違えてる。エラーを無視する shell wrapper で対処
AnthyはソースコードがEUCだが、まぁ、configure/compile には支障はない
Anthyは configure に std_configure_args を渡すってのに気がつけばあとは問題無し
とかなんとかいろいろありましたが、binary bottle まで構築しました。ユーザは自分だけだろ。
暇があったら、fcitx の ソースコードを macOS対応に変更してbuild をすれば、Mozc で xterm が動くはずです。
あるいは、uim に submoudle として MozC を足して、パッチをあてるんだな。
https://github.com/ie-developers/homebrew-ie
とかなんとかいろいろありましたが、binary bottle まで構築しました。ユーザは自分だけだろ。
暇があったら、fcitx の ソースコードを macOS対応に変更してbuild をすれば、Mozc で xterm が動くはずです。
あるいは、uim に submoudle として MozC を足して、パッチをあてるんだな。
https://github.com/ie-developers/homebrew-ie
No comments:
Post a Comment