mikutter-3.6.1.ebuildを書こうとしたけれどidn-ruby-0.1.0.ebuildが書けないので正常に動作するものが書けなかった
現在Gentooの公式portageリポジトリのmikutterは3.5.4-r1です. 公式で提供している delayer-deferred の最新版に対応していないので古いものをインストールする奇妙な状況になっていました.
ならばとりあえず私のoverlayにmikutter-3.6.1を追加しようと思いました.
mikutter-3.6.1がdivaを要求して, divaがportageに存在しないためこれを追加する必要がありましたが, これ自体は他のfakegemを要求するebuildを参考にして簡単に追加できました.
というわけで起動するところまではすんなりいきました. mikutter自身の最小要求と依存関係の最大要求からruby 2.3でしか動かないことを突き止めたりする必要などがありましたが, 些細なことです.
問題は起動した後クラッシュしてしまうことで,
クラッシュする場所のgit logを見るとa7666e13 * twitter-text 2.1.0を要求 refs #1130
らしいです.
なるほどportageのtwitter-textは1.14.7ですね. クラッシュするわけです.
というわけでtwitter-textの2.1.0を追加しようとして, その依存するライブラリのidn-rubyを追加するところで問題が起きました.
これまではrubyのgemをebuild化するのはpureなRubyライブラリだったので簡単にいきましたが,
idn-rubyはC言語ライブラリのバインディングです.
これを他のinherit ruby-fakegem
するだけのようにebuild化してもライブラリがインストールされない.
RubyのC言語拡張ライブラリのgem関係などの仕様を把握していないので, idn-rubyをインストールされるようにebuild化する方法がわからなくて詰みました.
他のebuildを見てもよくわからない. gemのグローバル周りかなりつらい.
誰かidn-rubyのebuildを書いてほしい.