|
From: 青柳政聡 <mas...@gm...> - 2011-01-28 09:51:59
|
青柳です。
>>>> goocanvasというのもgem化しようと思ったのですが、rb_cairo.hが必要らしく、
>>>> どう指定するべきかよく分からなかったので、止めておきました。
>>>
>>> gtk2やpangoもrb_cairo.hを使っているので、それらと同じよう
>>> に_package.dependency.gem.runtimeを設定すれば大丈夫だと思い
>>> ます!
>>
>> 多分、extconf.rbの"--with-opt-include"オプションか何かで、rcairoの場所を指定する必要があるようで
>> dependencyを指定しても無理のような気がします。
>
> あれ?そうですか。。。
> check_cairoの中で、RubyGemsでインストールされているrcairoの
> 場合でもうまい具合に探すようにしていたはずなのですが。。。
mkmf-gnome2.rbのバグのように思われます。
以下のように修正すれば、正常にビルドできるようです。
問題なければ、glib2とgoocanvasをコミットしますので、ご確認ください。
Index: lib/mkmf-gnome2.rb
===================================================================
--- lib/mkmf-gnome2.rb (リビジョン 4045)
+++ lib/mkmf-gnome2.rb (作業コピー)
@@ -348,10 +348,10 @@
gem 'cairo'
require 'cairo'
rcairo_src_gem_path_re =
- /\A#{Regexp.escape(Gem.dir)}\/gems\/cairo-[\d.]+\/ext\/cairo\z/
+ /\A(#{Regexp.escape(Gem.dir)}\/gems\/cairo-[\d.]+)\//
$LOAD_PATH.each do |path|
if rcairo_src_gem_path_re =~ path
- $CFLAGS += " -I#{path} "
+ $CFLAGS += " -I#{$1}/ext/cairo "
have_rb_cairo_h = have_header('rb_cairo.h')
break
end
|