port:ruby20を追加した!
selectの準備がととのったので、port:ruby20を作成して登録した。rubyやruby19と同様にコマンドはruby2.0, gem2.0などのファイル名になっていて、port select rubyが効くようになってる。
調べたこととか
どうも2.0.0でconfigureに--with-librubyprefixを指定すると、verconf.h でコンパイルエラーになるみたい。trunkでは直ってたので、それっぽいところをtrunkのconfigure.inから取ってきてパッチをつくった。パッチはautoconfかけなおすのめんどうなので、configureに直接パッチする形にした。
(2013/3/11追記: チケットあがってた。[#8033])
% ./configure --with-rubylibprefix=/usr/local/lib/ruby2.0 : % make version.o compiling version.c In file included from version.c:12: ./verconf.h:4:67: warning: missing terminating '"' character [-Winvalid-pp-token] #define RUBY_LIB_PREFIX RUBY_EXEC_PREFIX"/lib/"RUBY_BASE_NAME""2.0" ^ version.c:75:5: error: expected ';' after top level declarator RUBY_SITE_LIB2 "\0" ^ version.c:43:37: note: expanded from macro 'RUBY_SITE_LIB2' #define RUBY_SITE_LIB2 RUBY_SITE_LIB "/"RUBY_LIB_VERSION ^ ./verconf.h:8:23: note: expanded from macro 'RUBY_SITE_LIB' #define RUBY_SITE_LIB RUBY_LIB_PREFIX"/site_ruby" ^ ./verconf.h:4:64: note: expanded from macro 'RUBY_LIB_PREFIX' #define RUBY_LIB_PREFIX RUBY_EXEC_PREFIX"/lib/"RUBY_BASE_NAME""2.0" ^ 1 warning and 1 error generated. make: *** [version.o] Error 1
make test-allでなぜか1.9を参照してsegvするっぽいときがあった。原因不明。PATHに"ruby"があると、そっちみちゃうときがあるのかなあ。