Gem をつくろう
RMagick と wxRuby2 の gem を作ります。
実はどっちもやり方は簡単。
RMagick の場合
付属の rmagick.gemspec をそのまま使うと、gem インストールの際コンパイルを始めてしまうのでうまくありません。
というわけで、バイナリ用の gemspec を用意します。
RMagick のソースディレクトリにrmagick-mingw32.gemspec というファイルを作って、以下の内容をコピペします。
require 'date' Gem::Specification.new do |s| s.name = %q{rmagick} s.version = "2.11.0" s.date = Date.today.to_s s.summary = %q{Ruby binding to ImageMagick} s.description = %q{RMagick is an interface between Ruby and ImageMagick.} s.author = %q{Tim Hunter} s.email = %q{rmagick@rubyforge.org} s.homepage = %q{http://rubyforge.org/projects/rmagick} s.files = ['ext/RMagick/RMagick2.so'] + Dir.glob('lib/*') + Dir.glob('lib/**/*') s.bindir = 'bin' s.executables = Dir.glob('bin/*').collect {|f| File.basename(f)} s.require_paths << 'ext/RMagick' s.rubyforge_project = %q{rmagick} s.has_rdoc = false s.platform = Gem::Platform.local s.required_ruby_version = '>= 1.9.1' s.requirements << 'ImageMagick 6.3.7 and lesser than 6.5.0' end
gem build を実行すると、。
$ gem build rmagick-mingw32.gemspec WARNING: RDoc will not be generated (has_rdoc == false) Successfully built RubyGem Name: rmagick Version: 2.11.0 File: rmagick-2.11.0-x86-mingw32.gem
gem ファイル「rmagick-2.11.0-x86-mingw32.gem」ができています。
wxRuby2 の場合
rake でおk.
$ rake gem (in C:/msys/1.0/home/asa/work/wxruby-2.0.0) Enabling UNICODE build The following wxWidgets features are not available and will be skipped: GCDC GLCanvas GraphicsBrush GraphicsContext GraphicsFont GraphicsMatrix GraphicsObject GraphicsPath GraphicsPen MediaCtrl MediaEvent StyledTextCtrl StyledTextEvent :0:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009. WARNING: RDoc will not be generated (has_rdoc == false) Successfully built RubyGem Name: wxruby-ruby19 Version: 2.0.0 File: wxruby-ruby19-2.0.0-x86-mingw32.gem
gem ファイル「wxruby-ruby19-2.0.0-x86-mingw32.gem」ができています。
-
-
- -
-
9/4 検証したら、RMagick のバイナリ用の gemspec が必要なのが判明して追記。
結局びっくりするほどではなかったけれど、それでも思ったより簡単に gem ができました。
*1:9/10 追記:rubysdl では「install_rubysdl.bat を実行せよ」という意味のメッセージが出るようになっていました。