きりかノート 3冊め

おあそびプログラミング

ruby-2.1.2のlibffi-3.1対応

チケットが来てたので対応しました。

内容についてはrubyのissie#9897にあるとおりです。

いちお簡単に説明すると、ビルド時にマクロとしてRUBY_LIBFFI_MODVERSIONという値を定義しているのですが、従来の"3.0.13"のような数字3つのバージョンから"3.1"という数字2の形式に変わったため、その値に入れるバージョンの加工に失敗してfiddleがコンパイルされないという状況になっていました。

trunkやruby_2_1ブランチでは修正済みだったので、その変更を適用しました。ruby-2.0ではRUBY_LIBFFI_MODVERSIONを使っていないためこの問題はありません。

また、別件で新しいXcodeでdlモジュールがインストールされないという問題があったので合わせて対応しています。

port:ruby21でfiddleが使えないなどの状況が起きた場合は、port upgrade ruby21で解消すると思います。