Gentoo Linux (amd64)でshared-qtなOperaで日本語入力したい。

amd64Gentoo上のshared-qtなOperaは日本語入力ができないので、悲しみに暮れながらstatic-qt版を使うことになる。

そもそも何故日本語入力ができない?

まずこの理由がわかるのに3日ぐらいかかった(笑

  1. Operaは32bitアプリである

うん、そりゃそうだ。

  1. なのでshared-qt版が使うqtはemul-linux-x86-qtlibsでインストールされるqtになる

うん。実際operaパッケージはemul-linux-x86-qtlibsに依存してる形になってるしね。

  1. emul-linux-x86-qtlibsってのは、特殊な環境でビルドされたqtのバイナリパッケージ

ここがわかんなかった。emulなんてついてるぐらいだから、自分とこにあるqtになんかwrapperを被せて動作させてんのかとばかり…。

まあ、どーりでopera:aboutで表示されるQt libraryのバージョンが合わないわけで。

  1. で、このバイナリパッケージはimmqt-bcが付いてない素のqt。故にimのサポートがされない。

というわけでした。

原因がわかったなら解消しよう。

とりあえず解決方法としてはこんなところだろう。

  1. amd64operaが出るのを待つ
  2. qt4なoperaが出るのを待つ

待つばっかりだ。っていうか、これ、いつになるんだか。さらりと今週出る気もするし、9月ぐらいまで待たされそうな気もするし。

  1. emul-linux-x86-qtlibsのメンテナにimmqt-bc付けてと頼む

メンテナ誰?

  1. 自分で作る

というわけで、自分で作ることにした。

emul-packagesのビルド環境のつくりかたはここに書いてあった。

http://www.gentoo.org/proj/en/base/amd64/emul/index.xml

英語をテキトーに拾い読みしながらコマンド打った。多分、大丈夫だろう…。

で。

USE="X cjk immqt-bc xinerama alsa arts cups" emerge -av "

だめでした。

opera:aboutに表示されるqtのバージョンは3.3.8になったのだが、やっぱりだめ。

何故。

/usr/qt/3/plugins/inputmethods/をどうにかせねばならんのじゃないか、と推測。emul-linux-x86-qtlibs-10.0.ebuildはそのあたりを入れてくれない。

しかし困った。

現在の/usr/qt/3/plugins/inputmethods/には当然lib64用のが入ってるわけで。じゃあlib32用のはどうすれば…。

ふと気付いた。

あれ?emul-linux-x86-qtlibs-3.4.4-r5.ebuildにはimmqt-bcフラグがあるぞ?

どうなってんの?

なんかinputmethods32というフォルダに入れてるっぽい。それでいいのか?

まあとりあえずemul-linux-x86-qtlibs-3.4.4-r5.ebuild入れてみようか

なんか、patchに失敗する。駄目。

敢えて古いqtを使うってのも悲しいものがあるので、この路線は早々に放棄。

じゃ、emul-linux-x86-qtlibs-10.0.ebuildをテキトーに改造してhttp://www.yaske.com/file/qt-3.3.8-r2.tbz2のinputmethodsをinputmethods32にぶち込むようにしてみよう。

してみたけど駄目。プラグインを読んでない?

たすけてえらいひと。エロいひとのがより望ましいけど。

もうお手上げ状態です。あと一歩っぽいんだけど…。

今の僕に出来るのは、金曜日を楽しみに待つことだけなのかー!