OSvもmrbgemsみたいな感じに簡単にextensionを追加できるといいよね→やってみた
mrubyってRubyのgemsみたいな感じに拡張をmrbgemsっていう方式で追加できるんですが、mrubyの用途から言ってどこかのディレクトリにダイナミックリンクライブラリ+Rubyファイルで配置とかやってほしくなくてmruby本体に直接リンクしといて欲しいという感じっぽくて、mruby本体のビルド時にbuild_config.rbって設定ファイルにmrbgemsを列挙しとくと後はmakeって打つだけでよしなにビルド&リンクしといてくれるんですよね。
で、そのときのsyntaxがこんなの:
conf.gem :github => 'masuidrive/mrbgems-example', :branch => 'master'
こう書いとくだけで、mrubyのリポジトリには全く含まれない拡張がgithubから落とされてきてmrubyのバイナリへリンクされる、と。
お手軽簡単かっこいいですね。
そんな訳で、僕もOSvでそれやりたい!→やってみました。
こんな設定ファイルを書いとくと、githubから落としてきてバイナリを作ってOSvのディスクイメージへ書き込みます。特にほかのファイルをいじる必要はないです。
{ "modules":[ { "name":"osv-mruby", "type":"git", "path":"https://github.com/syuu1228/osv-mruby.git", "branch":"master" } ] }
diffはこのへん:https://gist.github.com/syuu1228/7255742
設定ファイルがJSONになってしまったのは、Pythonの標準APIでパースできそうなのがそれしか見つけられなかったからで、お察しください。
そもそもPythonじゃなくてRubyで書きたいんだけれども、OSvのビルドツールで使われているスクリプトは全部Pythonなので仕方なく…。