2012年6月8日

MacRuby-0.6/HotCocoaのセットアップ


ようやくできたのでまとめてみる。最初のLLVMとMacRubyの相性でつまずいて何日もかかってしまった。両方trunkから持ってきたらダメ、オプションもMacRubyの指定どおりにしないとダメ。LLVMのビルドはとにかく時間がかかるから、最初から素直にMacRuby-0.6のREADMEに従えばよかった。で、手順は...
ステップ1 : LLVMの取得、ビルド
svn co -r 89156 https://llvm.org/svn/llvm-project/llvm/trunk llvm-trunk
cd llvm-trunk 
env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" CC=/usr/bin/gcc CXX=/usr/bin/g++ ./configure --enable-bindings=none --enable-optimized --with-llvmgccdir=/tmp
env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" CC=/usr/bin/gcc CXX=/usr/bin/g++ make
sudo env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" CC=/usr/bin/gcc CXX=/usr/bin/g++ make install
ステップ2 : MacRuby-0.6の取得、ビルド
svn co http://svn.macosforge.org/repository/ruby/MacRuby/tags/0.6 MacRuby-0.6
rake
sudo rake install
ステップ3 : HotCococaのインストール
sudo macgem install hotcocoa
シェルを再起動なりしないとhotcocoaへのパスが通らない
ステップ4 : ノープログラミングでHello, world
hotcocoa hello
cd hello
macrake
実行結果
f:id:mhiki:20100804002140p:image
ステップ5 : Hello, world (hello.rb)
require 'rubygems'
require 'hotcocoa'

class Application
  include HotCocoa
  
  def start
    application(:name => "Postie") do |app|
      app.delegate = self
      window(:frame => [100, 100, 500, 500], :title => "Postie") do |win|
        win << label(:text => "Hello from HotCocoa", :layout => {:start => false})
        win.will_close { exit }
      end
    end
  end
end

Application.new.start
実行する
macruby hello.rb
実行結果はステップ4と同じ。
これでRubyからCocoaにアクセスできるなんてすごい。HotCocoaの名前も伊達じゃない。

0 件のコメント:

コメントを投稿