You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(32) |
Jun
(60) |
Jul
(52) |
Aug
(67) |
Sep
(167) |
Oct
(186) |
Nov
(173) |
Dec
(220) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(37) |
Feb
(66) |
Mar
(89) |
Apr
(71) |
May
(32) |
Jun
(61) |
Jul
(64) |
Aug
(99) |
Sep
(33) |
Oct
(31) |
Nov
(50) |
Dec
(41) |
2004 |
Jan
(9) |
Feb
(9) |
Mar
(25) |
Apr
(23) |
May
(8) |
Jun
|
Jul
(1) |
Aug
(9) |
Sep
(1) |
Oct
(31) |
Nov
(38) |
Dec
|
2005 |
Jan
(16) |
Feb
(49) |
Mar
(14) |
Apr
(1) |
May
|
Jun
(12) |
Jul
(25) |
Aug
(18) |
Sep
(48) |
Oct
(76) |
Nov
(20) |
Dec
|
2006 |
Jan
(16) |
Feb
(12) |
Mar
(4) |
Apr
(5) |
May
(77) |
Jun
(37) |
Jul
(15) |
Aug
|
Sep
(3) |
Oct
(15) |
Nov
(7) |
Dec
(27) |
2007 |
Jan
(3) |
Feb
(2) |
Mar
|
Apr
|
May
(7) |
Jun
(18) |
Jul
(44) |
Aug
(12) |
Sep
(1) |
Oct
(13) |
Nov
(15) |
Dec
(5) |
2008 |
Jan
|
Feb
|
Mar
(16) |
Apr
(2) |
May
(8) |
Jun
(1) |
Jul
|
Aug
|
Sep
(8) |
Oct
(6) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
(2) |
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
(3) |
2010 |
Jan
(8) |
Feb
(8) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(17) |
Oct
(7) |
Nov
(3) |
Dec
|
2011 |
Jan
(34) |
Feb
(47) |
Mar
(12) |
Apr
(1) |
May
(2) |
Jun
(2) |
Jul
(20) |
Aug
(4) |
Sep
(31) |
Oct
(16) |
Nov
(26) |
Dec
(40) |
2012 |
Jan
(10) |
Feb
(8) |
Mar
|
Apr
(5) |
May
(8) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(8) |
2013 |
Jan
(2) |
Feb
(33) |
Mar
(21) |
Apr
(10) |
May
(29) |
Jun
(19) |
Jul
(6) |
Aug
(4) |
Sep
|
Oct
(21) |
Nov
(21) |
Dec
(7) |
2014 |
Jan
(3) |
Feb
(12) |
Mar
(9) |
Apr
(4) |
May
(12) |
Jun
|
Jul
|
Aug
(5) |
Sep
(23) |
Oct
(29) |
Nov
(2) |
Dec
(1) |
2015 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(8) |
From: Masafumi Y. <my...@gm...> - 2013-11-15 03:43:31
|
横山です。 2013年11月10日 23:39 Kouhei Sutou <ko...@co...>: > あぁ、rake-compilerのバージョンがあがって挙動が変わったから > ですねぇ。ruby-gnome2側を直す必要があります。 > > https://github.com/ranguba/rroonga/blob/master/Rakefile#L152 > > のコード相当の処理をruby-gnome2の今のビルドシステムに組み込 > むとよさそうな気がします。 ありがとうございます! Rroongaを参考に修正してコミットしました。 https://github.com/ruby-gnome2/ruby-gnome2/commit/86b853e0d07ee8d15475516fa546bef8dfcc3af4 作業を進めてはいるのですが、GObject-IntrospectionやGTK+なども パッチの修正や追加が必要そうなので、もうしばらくかかりそうです。 なんとか11月中には終わらせたいと思っています。 また詰まったらご相談させてください。 |
From: Kouhei S. <ko...@co...> - 2013-11-10 14:39:49
|
須藤です。 In <CAE...@ma...> "Re: [ruby-gnome2-devel-ja] Windows用gemのクロスコンパイルと動作確認について" on Wed, 6 Nov 2013 09:09:07 +0900, Masafumi Yokoyama <my...@gm...> wrote: > 2013年11月5日 18:52 Kouhei Sutou <ko...@co...>: >> あぁ、これなんですが、実は、手元ではRUBYLIBでローカルの >> pkg-config gemのパスを指定していました。 >> >> % RUBYLIB="$HOME/work/ruby/pkg-config/lib" rake ... > > pkg-config gemを用意してから、パスを指定して実行したところ、 > 先に進みました。ありがとうございます! よかったです! > 先には進んだのですが、別のエラー↓が出てしまいました。。。 > > Don't know how to build task 'tmp/i386-mingw32/stage/vendor/local' > > tmp/.../stage/にvendor/がコピーされていないようです。 > gem:win32:build:vendorタスクの後に手動で > tmp/.../stage/にvendor/をコピーしてからgem:win32:build:ext > タスクを実行すると、エラーは発生せず、pkg/に > glib2-2.0.3-x86-mingw32.gemが作成されました。 > > 本来は自動でコピーされると思うのですが、手順ミスでしょうか。 あぁ、rake-compilerのバージョンがあがって挙動が変わったから ですねぇ。ruby-gnome2側を直す必要があります。 https://github.com/ranguba/rroonga/blob/master/Rakefile#L152 のコード相当の処理をruby-gnome2の今のビルドシステムに組み込 むとよさそうな気がします。 >> どこでpkg-configを扱うのがよいか決めあぐねてこのままなのでし >> た。すみません。。。 >> >> 実は、以下のようにMAKE_N_JOBSも指定して複数のCPUコアを使って >> ビルド時間を短縮したりもしています。。。 >> >> % RUBYLIB="$HOME/work/ruby/pkg-config/lib" MAKE_N_JOBS=8 rake ... >> >> うーん、rcairoみたいに相対パスからも探すようにするのがよいか >> しら。。。 > > 難しいですね。。。 > ひとまず、作業が一段落したらリリース手順に追記しておきます。 > (手順があれば当面はそのままでも大丈夫かと思います) そうですね、そうしておきましょう! |
From: Kouhei S. <ko...@co...> - 2013-11-10 03:39:22
|
須藤です。 In <527...@gm...> "[ruby-gnome2-devel-ja] GTK3のdeprecated warningの対応をしました" on Thu, 07 Nov 2013 21:51:42 +0900, hiroshi hatake <cos...@gm...> wrote: > gtk3のdeprecated warningの対応をしたPull Requestをしました! ありがとうございます!マージしました! > # Pull Requestを出したのは実は昨日ですが、メーリングリストにメールを出す > のを失念していました。。。 あ、メーリングリストにも連絡するのは私が気づいてなさそうだなぁ というときだけで大丈夫ですよ。 > さて、 > 本題から逸れますが、 > gio2のgobject-introspectionのexperimentalな実装のパッチもすでに手元で作 > 成してあります。 おぉ。 > gio2-giのようなディレクトリを掘ってpushしてしまってもいいでしょうか。 はい! |
From: hiroshi h. <cos...@gm...> - 2013-11-07 12:51:52
|
畑ケです。 gtk3のdeprecated warningの対応をしたPull Requestをしました! # Pull Requestを出したのは実は昨日ですが、メーリングリストにメールを出す のを失念していました。。。 さて、 本題から逸れますが、 gio2のgobject-introspectionのexperimentalな実装のパッチもすでに手元で作 成してあります。 gio2-giのようなディレクトリを掘ってpushしてしまってもいいでしょうか。 |
From: Masafumi Y. <my...@gm...> - 2013-11-06 00:09:14
|
横山です。 2013年11月5日 18:52 Kouhei Sutou <ko...@co...>: > あぁ、これなんですが、実は、手元ではRUBYLIBでローカルの > pkg-config gemのパスを指定していました。 > > % RUBYLIB="$HOME/work/ruby/pkg-config/lib" rake ... pkg-config gemを用意してから、パスを指定して実行したところ、 先に進みました。ありがとうございます! 先には進んだのですが、別のエラー↓が出てしまいました。。。 Don't know how to build task 'tmp/i386-mingw32/stage/vendor/local' tmp/.../stage/にvendor/がコピーされていないようです。 gem:win32:build:vendorタスクの後に手動で tmp/.../stage/にvendor/をコピーしてからgem:win32:build:ext タスクを実行すると、エラーは発生せず、pkg/に glib2-2.0.3-x86-mingw32.gemが作成されました。 本来は自動でコピーされると思うのですが、手順ミスでしょうか。 失敗時は以下のようなログが出力されます。 /home/myokoym/.rbenv/versions/2.0.0-p247/bin/ruby -S rake RUBY_CC_VERSION=1.9.3:2.0.0 cross win32:builder:build:prepare:pkg_config native gem no configuration section for specified version of Ruby (rbconfig-i386-mingw32-1.9.3) install -c tmp/i386-mingw32/glib2/2.0.0/glib2.so lib/2.0/glib2.so cp tmp/i386-mingw32/glib2/2.0.0/glib2.so tmp/i386-mingw32/stage/lib/2.0/glib2.so rake aborted! Don't know how to build task 'tmp/i386-mingw32/stage/vendor/local' Tasks: TOP => gem => pkg/glib2-2.0.3-x86-mingw32.gem => pkg/glib2-2.0.3-x86-mingw32 (See full trace by running task with --trace) rake aborted! Command failed with status (1): [/home/myokoym/.rbenv/versions/2.0.0-p247/b...] /home/myokoym/work/ruby/ruby-gnome2.win32/Rakefile:374:in `block (7 levels) in <top (required)>' /home/myokoym/work/ruby/ruby-gnome2.win32/Rakefile:367:in `chdir' /home/myokoym/work/ruby/ruby-gnome2.win32/Rakefile:367:in `block (6 levels) in <top (required)>' /home/myokoym/work/ruby/ruby-gnome2.win32/Rakefile:366:in `each' /home/myokoym/work/ruby/ruby-gnome2.win32/Rakefile:366:in `block (5 levels) in <top (required)>' /home/myokoym/work/ruby/ruby-gnome2.win32/Rakefile:73:in `change_environment_variable' /home/myokoym/work/ruby/ruby-gnome2.win32/Rakefile:365:in `block (4 levels) in <top (required)>' Tasks: TOP => gem:win32:build:ext (See full trace by running task with --trace) > どこでpkg-configを扱うのがよいか決めあぐねてこのままなのでし > た。すみません。。。 > > 実は、以下のようにMAKE_N_JOBSも指定して複数のCPUコアを使って > ビルド時間を短縮したりもしています。。。 > > % RUBYLIB="$HOME/work/ruby/pkg-config/lib" MAKE_N_JOBS=8 rake ... > > うーん、rcairoみたいに相対パスからも探すようにするのがよいか > しら。。。 難しいですね。。。 ひとまず、作業が一段落したらリリース手順に追記しておきます。 (手順があれば当面はそのままでも大丈夫かと思います) |
From: Kouhei S. <ko...@co...> - 2013-11-05 09:53:03
|
須藤です。 In <CAET2rA_hdtZihMP8ZVtFD=_h9...@ma...> "Re: [ruby-gnome2-devel-ja] Windows用gemのクロスコンパイルと動作確認について" on Mon, 4 Nov 2013 23:59:15 +0900, Masafumi Yokoyama <my...@gm...> wrote: > gem作成失敗の件ですが、rakeのgem:win32:build:extタスクが > > `require': cannot load such file -- pkg-config (LoadError) > > が出て失敗してしまいます。設定が足りないでしょうか? > rake-compilerは、以下のコマンドで設定しました。 > > rake-compiler cross-ruby VERSION=1.9.3-p448 EXTS=--without-extension > rake-compiler cross-ruby VERSION=2.0.0-p247 EXTS=--without-extension > > 失敗時のログとrake-compilerのconfig.ymlは以下です。 > https://gist.github.com/myokoym/7303335 あぁ、これなんですが、実は、手元ではRUBYLIBでローカルの pkg-config gemのパスを指定していました。 % RUBYLIB="$HOME/work/ruby/pkg-config/lib" rake ... どこでpkg-configを扱うのがよいか決めあぐねてこのままなのでし た。すみません。。。 実は、以下のようにMAKE_N_JOBSも指定して複数のCPUコアを使って ビルド時間を短縮したりもしています。。。 % RUBYLIB="$HOME/work/ruby/pkg-config/lib" MAKE_N_JOBS=8 rake ... うーん、rcairoみたいに相対パスからも探すようにするのがよいか しら。。。 >>> パッチの作成までやってみました。せっかくとてもわかりやすい手順を >>> 書いていただいたので、報告も私の方でやってみてよいでしょうか? >> >> ありがとうございます!ぜひ、よろしくおねがいします! >> とても助かります!!! > > 報告してみました! > https://bugzilla.gnome.org/show_bug.cgi?id=711372 すばらしいです! |
From: Masafumi Y. <my...@gm...> - 2013-11-04 14:59:22
|
横山です。 2013年11月3日 21:51 Kouhei Sutou <ko...@co...>: >> そうでしたか。ということは、 checking whether we are cross compiling... >> はnoのままで問題ないということですね! > > はい、そうです。 > 64bit版Windows用のバイナリに対応するときはyesになると思いま > すが、32bit版Windows用のバイナリをビルドするときはnoのままで > 問題ないです!今のDebian/Ubuntuでは64bit版のexeが動くWineが > パッケージとして提供されていないのでexeが実行できずにクロス > コンパイル扱いになると思います。 わかりました。ありがとうございます! >> 問題がないことを確認したので、先にRuby-GNOME2の方に >> コミットしてしまおうと思います。できればgemの動作確認まで >> してからコミットしたかったのですが、gemの作成でつまづいて >> しまったので、確認はできていません。gemの作成については >> 別途質問させてください。 > > はい! gem作成失敗の件ですが、rakeのgem:win32:build:extタスクが `require': cannot load such file -- pkg-config (LoadError) が出て失敗してしまいます。設定が足りないでしょうか? rake-compilerは、以下のコマンドで設定しました。 rake-compiler cross-ruby VERSION=1.9.3-p448 EXTS=--without-extension rake-compiler cross-ruby VERSION=2.0.0-p247 EXTS=--without-extension 失敗時のログとrake-compilerのconfig.ymlは以下です。 https://gist.github.com/myokoym/7303335 >> パッチの作成までやってみました。せっかくとてもわかりやすい手順を >> 書いていただいたので、報告も私の方でやってみてよいでしょうか? > > ありがとうございます!ぜひ、よろしくおねがいします! > とても助かります!!! 報告してみました! https://bugzilla.gnome.org/show_bug.cgi?id=711372 |
From: Kouhei S. <ko...@co...> - 2013-11-03 12:51:55
|
須藤です。 In <CAET2rA872Xtbq7NyVTvPHwivjw2CqTc+_6huh=66N...@ma...> "Re: [ruby-gnome2-devel-ja] Windows用gemのクロスコンパイルと動作確認について" on Sun, 3 Nov 2013 18:46:59 +0900, Masafumi Yokoyama <my...@gm...> wrote: > そうでしたか。ということは、 checking whether we are cross compiling... > はnoのままで問題ないということですね! はい、そうです。 64bit版Windows用のバイナリに対応するときはyesになると思いま すが、32bit版Windows用のバイナリをビルドするときはnoのままで 問題ないです!今のDebian/Ubuntuでは64bit版のexeが動くWineが パッケージとして提供されていないのでexeが実行できずにクロス コンパイル扱いになると思います。 >> これで、パッチの登録は完了です。もう一度ビルドすると自動でパッ >> チを当ててビルドしてくれます。 >> >> ruby-gnome2.win32/glib% rake win32:build >> >> これで、GLibのビルドがうまく通ったらこのパッチで問題がないこ >> とがわかります。それでは、本家に報告しましょう。 > > 問題がないことを確認したので、先にRuby-GNOME2の方に > コミットしてしまおうと思います。できればgemの動作確認まで > してからコミットしたかったのですが、gemの作成でつまづいて > しまったので、確認はできていません。gemの作成については > 別途質問させてください。 はい! >> コミットしたらパッチを作ります。 >> >> glib% git format-patch origin/master >> 0001-test-add-missing-EXEEXT.patch >> >> カレントディレクトリに0001-test-add-missing-EXEEXT.patchとい >> うファイル名でパッチができます。これをGLibに報告します。 > > パッチの作成までやってみました。せっかくとてもわかりやすい手順を > 書いていただいたので、報告も私の方でやってみてよいでしょうか? ありがとうございます!ぜひ、よろしくおねがいします! とても助かります!!! |
From: Kouhei S. <ko...@co...> - 2013-11-03 12:48:07
|
須藤です。 In <527...@gm...> "[ruby-gnome2-devel-ja] Gdk::EventTouchのaccessorの実装について" on Sun, 03 Nov 2013 16:45:30 +0900, hiroshi hatake <cos...@gm...> wrote: > * Gdk::EventTouchのアクセッサー > * test-gdk-event.rbへのテストの追加 > > ができたのでPull Requestをあげました。 ありがとうございます!よさそうだったのでマージしました! > # 僕はRSpecでテストを書く方が好きですが、Test::Unitでもちゃんと振る舞い > のテストが書けるんですね APIが違うだけで提供している機能は同じですからねぇ。 > # メールを書いているうちにそう言えばIssueには上がっていないdeprecated > warningの対応もししないと、という気になってきました。Gdk::EventTouchの > accessorの実装に夢中ですっかり忘れかけていま した。。。 あぁ、そうですねぇ。まだいろいろありますねぇ。 よろしくおねがいします! |
From: Kouhei S. <ko...@co...> - 2013-11-03 12:43:49
|
須藤です。 In <CAET2rA8p=N+oeLiiWcTBYKKX4d-CRzfSOvsAO3dJ8DSK7=gL...@ma...> "Re: [ruby-gnome2-devel-ja] Windows用gemのクロスコンパイルと動作確認について" on Sun, 3 Nov 2013 15:43:35 +0900, Masafumi Yokoyama <my...@gm...> wrote: >>>> 少し古くなってますけど。。。 >>>> 例えば、今はrake dist:testでtar.gzのテストができたりします。 >>> >>> 更新した方がよさそうですか? >> >> はい! >> おねがいします! >> >> 最新の情報に追従して、リリースするときはそれを参照すればだれ >> でもできる状態にしたいです! > > わかりました!今はGistにメモしながら進めているのですが、 > まとまったらマージしたいと思います。 ありがとうございます! |
From: Masafumi Y. <my...@gm...> - 2013-11-03 09:47:07
|
横山です。 2013年11月2日 22:32 Kouhei Sutou <ko...@co...>: >> checking whether we are cross compiling... が no になっていた >> 理由ですが、Windows用プログラムが実行できるかどうかで判定して >> いるらしく、Wineがインストールされているせいで実行できてしま >> ってnoになっているようです。とりあえず/usr/bin/wineをリネーム >> して試してみると、yesになって先に進みました。 > > あぁ、なるほど! > > 手元でも試してみたら、確かに再現しました。 > > で、調べてみたんですが、これはGLibの問題ですねぇ。 そうでしたか。ということは、 checking whether we are cross compiling... はnoのままで問題ないということですね! > これで、パッチの登録は完了です。もう一度ビルドすると自動でパッ > チを当ててビルドしてくれます。 > > ruby-gnome2.win32/glib% rake win32:build > > これで、GLibのビルドがうまく通ったらこのパッチで問題がないこ > とがわかります。それでは、本家に報告しましょう。 問題がないことを確認したので、先にRuby-GNOME2の方に コミットしてしまおうと思います。できればgemの動作確認まで してからコミットしたかったのですが、gemの作成でつまづいて しまったので、確認はできていません。gemの作成については 別途質問させてください。 > コミットしたらパッチを作ります。 > > glib% git format-patch origin/master > 0001-test-add-missing-EXEEXT.patch > > カレントディレクトリに0001-test-add-missing-EXEEXT.patchとい > うファイル名でパッチができます。これをGLibに報告します。 パッチの作成までやってみました。せっかくとてもわかりやすい手順を 書いていただいたので、報告も私の方でやってみてよいでしょうか? |
From: hiroshi h. <cos...@gm...> - 2013-11-03 07:45:41
|
畑ケです。 * Gdk::EventTouchのアクセッサー * test-gdk-event.rbへのテストの追加 ができたのでPull Requestをあげました。 直接masterにプッシュするのはどうかなぁと思い、Pull Requestにしてみました。 (Ruby-GNOME2ではまだテストを書く作業をしていなかったですし。) # 僕はRSpecでテストを書く方が好きですが、Test::Unitでもちゃんと振る舞い のテストが書けるんですね # メールを書いているうちにそう言えばIssueには上がっていないdeprecated warningの対応もししないと、という気になってきました。Gdk::EventTouchの accessorの実装に夢中ですっかり忘れかけていま した。。。 -- Hatake Hiroshi cos...@gm... |
From: Masafumi Y. <my...@gm...> - 2013-11-03 06:43:43
|
横山です。 2013年11月2日 21:16 Kouhei Sutou <ko...@co...>: >>> 少し古くなってますけど。。。 >>> 例えば、今はrake dist:testでtar.gzのテストができたりします。 >> >> 更新した方がよさそうですか? > > はい! > おねがいします! > > 最新の情報に追従して、リリースするときはそれを参照すればだれ > でもできる状態にしたいです! わかりました!今はGistにメモしながら進めているのですが、 まとまったらマージしたいと思います。 |
From: Kouhei S. <ko...@co...> - 2013-11-02 13:32:39
|
In <CAET2rA_Y9FAdH6xy-L5W5dW-ZHqZiAN6KvU33-=s_h...@ma...> 須藤です。 "Re: [ruby-gnome2-devel-ja] Windows用gemのクロスコンパイルと動作確認について" on Fri, 1 Nov 2013 22:41:50 +0900, Masafumi Yokoyama <my...@gm...> wrote: >> noでした。。。何か足りてないでしょうか。(configureログを含めて貼り直しました↓) >> https://gist.github.com/myokoym/7235664 > > checking whether we are cross compiling... が no になっていた > 理由ですが、Windows用プログラムが実行できるかどうかで判定して > いるらしく、Wineがインストールされているせいで実行できてしま > ってnoになっているようです。とりあえず/usr/bin/wineをリネーム > して試してみると、yesになって先に進みました。 あぁ、なるほど! 手元でも試してみたら、確かに再現しました。 で、調べてみたんですが、これはGLibの問題ですねぇ。 まず、どうしてこのファイルをビルドしようとしているかを確認し ます。 エラーが起きているところ付近は次のようになっています。 make[4]: ディレクトリ `/home/kou/work/ruby/ruby-gnome2.win32/glib2/tmp/glib/glib-2.38.1/tests/gobject' に入ります i686-w64-mingw32-gcc -g -O2 -mms-bitfields -fvisibility=hidden -I/home/kou/work/ruby/rcairo.win32/vendor/local/include -I/home/kou/work/ruby/ruby-gnome2.win32/glib2/vendor/local/include -L/home/kou/work/ruby/rcairo.win32/vendor/local/lib -L/home/kou/work/ruby/ruby-gnome2.win32/glib2/vendor/local/lib ../../gobject/glib-genmarshal.c -o ../../gobject/glib-genmarshal ../../gobject/glib-genmarshal.c:20:20: fatal error: config.h: そのようなファイルやディレクトリはありません compilation terminated. tests/gobject以下でglib-genmarshalを作ろうとしていることがわ かります。ということで、tests/gobject/Makefile.amをのぞいてみ ます。 genmarshalをキーワードに探してみると以下のあたりがみつかりま す。 https://git.gnome.org/browse/glib/tree/tests/gobject/Makefile.am?id=2.38.1#n54 51 if CROSS_COMPILING 52 glib_genmarshal=$(GLIB_GENMARSHAL) 53 else 54 glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal 55 endif ... 58 @true 59 stamp-testmarshal.h: @REBUILD@ testmarshal.list $(glib_genmarshal) 今回はCROSS_COMPILINGじゃないので 54 glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal が使われているはずです。 stamp-testmarshal.hが$(glib_genmarshal)に依存しているので $(top_builddir)/gobject/glib-genmarshalがないかチェックして、 ないと判断してビルドしようとしているのでしょう。 では、本当にないのか確認してみましょう。 % ls -la gobject/ | grep genmarshal -rw-r--r-- 1 kou kou 35699 5月 8 03:26 glib-genmarshal.c -rwxr-xr-x 1 kou kou 32768 11月 2 21:19 glib-genmarshal.exe -rw-r--r-- 1 kou kou 60889 11月 2 21:19 glib-genmarshal.o たしかにありません。が、glib-genmarshal.exeがあります。 Windowsでは実行ファイルの拡張子は.exeになるのでした。しかし、 tests/gobject/Makefile.amは.exeなしのパスを探しています。な ので、実は欲しいものがあるのに無理やりビルドしようとしてエラー になっています。 ということで、glib_genmarshalのパスを正しいものに直してやれ ば動くはずです。 実は、この.exeなしのやつはWindows上でビルドしていないときは よくある問題で、これは以下のように$(EXEEXT)を使えば解決でき るパターンです。 -glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal +glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal$(EXEEXT) ^^^^^^^^^ EXEEXTはAutomakeが自動で定義してくれる(*)変数です。実行ファイ ルの拡張子が設定されていて、環境ごとに固有の値を自動で検出し ています。UNIX系のプラットフォームでは空文字列でWindowsだと 「.exe」になっています。 (*) もう少し詳しく言うとAutoconfが生成するconfigureがEXEEXTに 設定する値を検出してAutomakeがその値をEXEEXTという変数に 設定しています。 参考: http://www.gnu.org/software/automake/manual/html_node/EXEEXT.html なので、よりポータブルなMakefile.amにする場合は実行ファイル のパスの最後には$(EXEEXT)をつけるべきなのですが、実行ファイ ルに拡張子がない環境でだけビルドしているときはこれに気づかな いんですよ。 で、私達はこういうときはどうするかというと本家(アップストリー ム)に報告します。手元でパッチを当ててこのプロジェクトでだけ 回避することもできますが、そうせずに、本家に報告してあるべき ところで修正します。そうすれば、私達だけでなく、他の人たちも この問題に困ることはなくなります。少しでもそんな世界に近づく ために、私達は本家に報告します。 私達もユーザーのみなさんからバグレポートなどをもらってよりよ くしていっています。なので、私達がユーザーのプロジェクトに対 してもバグレポートを送ってそのプロジェクトをよりよくしていき ます。 ということで、GLibにバグレポートを送るわけですが、まず、これ で本当に直るか確認します。 実は、Ruby-GNOME2のビルドシステムにはクロスコンパイルすると きにパッチを当てる仕組みが入っているのでそれを使います。 そのために、まず、パッチを作ります。tmp/download/以下にtarが あるのでそれを展開します。 ruby-gnome2.win32/glib/tmp% tar xf download/glib-2.38.1.tar.xz 変更するファイルをコピーします。このとき、もとのファイル名 に.origをつけます。これは、バージョン管理システムで管理され ていないファイルに対するパッチを作るときのよくある慣習です。 ruby-gnome2.win32/glib/tmp% cp -p glib-2.38.1/tests/gobject/Makefile.am{,.orig} ファイルを変更します。 ruby-gnome2.win32/glib/tmp% editor glib-2.38.1/tests/gobject/Makefile.am ruby-gnome2.win32/glib/tmp% diff -u glib-2.38.1/tests/gobject/Makefile.am{.orig,} --- glib-2.38.1/tests/gobject/Makefile.am.orig 2013-09-23 23:02:08.000000000 +0900 +++ glib-2.38.1/tests/gobject/Makefile.am 2013-11-02 21:48:21.991908689 +0900 @@ -51,7 +51,7 @@ if CROSS_COMPILING glib_genmarshal=$(GLIB_GENMARSHAL) else - glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal + glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal$(EXEEXT) endif testmarshal.h: stamp-testmarshal.h $(EXEEXT)を追加しただけです。 diffをみて変更が意図したものか確認したらglib2/patches/以下に パッチを置きます。 ruby-gnome2.win32/glib/tmp% diff -u glib-2.38.1/tests/gobject/Makefile.am{.orig,} > ../patches/glib-2.38.1-add-missing-exeext.diff パッチの名前に制限はありませんが、内容がわかりやすいように以 下のフォーマットにしてください。ファイル名なので「簡潔な説明」 にはスペースなど普通はファイル名に使わない文字は避けてくださ い。 #{パッケージ名}-#{バージョン}-#{簡潔な説明}.diff 今回の場合は以下のようになっています。 パッケージ名: glib バージョン: 2.38.1 簡潔な説明: add-missing-exeext パッチを置いたらglib2/Rakefileを以下のように変更します。 diff --git a/glib2/Rakefile b/glib2/Rakefile index 9452f1b..960683f 100644 --- a/glib2/Rakefile +++ b/glib2/Rakefile @@ -32,6 +32,9 @@ package = GNOME2Package.new do |_package| "--disable-modular-tests", ], :need_autoreconf => true, + :patches => [ + "glib-2.38.1-add-missing-exeext.diff" + ], }, }, { external_packagesのGLib用のエントリーの中の [:windows][:patches]の中にpatches/以下のファイル名を指定して います。 { :name => "glib", :download_site => :gnome, :label => "GLib", :version => "2.38.1", :compression_method => "xz", :windows => { :configure_args => [ "LIBFFI_CFLAGS=-I#{include_dir}", "LIBFFI_LIBS=-L#{libffi_lib_dir} -lffi", "--disable-modular-tests", ], :need_autoreconf => true, :patches => [ "glib-2.38.1-add-missing-exeext.diff" ], }, } これで、パッチの登録は完了です。もう一度ビルドすると自動でパッ チを当ててビルドしてくれます。 ruby-gnome2.win32/glib% rake win32:build これで、GLibのビルドがうまく通ったらこのパッチで問題がないこ とがわかります。それでは、本家に報告しましょう。 まず、GLibのソースをcloneします。 % git clone git://git.gnome.org/glib masterでも同じ問題があるか確認します。 https://git.gnome.org/browse/glib/tree/tests/gobject/Makefile.am#n54 54 glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal $(EXEEXT)がないので同じ問題がありそうです。 本当はmasterでも同じ問題が発生するかを確認したほうがいいんで すが、明らかに問題があることがわかるので省略します。というか、 うまくビルドできないなぁとわかった時点でmasterでは直っている かも?と思って確認するほうがいいですね。もし、直っていたらそ の修正をバックポートすればいいので。 問題があることがわかったのでパッチを作ります。 glib% git checkout -b add-missing-exeext glib% editor tests/gobject/Makefile.am glib% git diff diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am index 84f7410..2bce8b5 100644 --- a/tests/gobject/Makefile.am +++ b/tests/gobject/Makefile.am @@ -51,7 +51,7 @@ endif if CROSS_COMPILING glib_genmarshal=$(GLIB_GENMARSHAL) else - glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal + glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal$(EXEEXT) endif testmarshal.h: stamp-testmarshal.h glib% git add tests/gobject/Makefile.am コミットする前に過去のコミットログを確認してどんな感じでコミッ トメッセージを書くか雰囲気を確認します。 glib% git log --stat -p 「/^commit」で検索して、「n」していくと次々にコミットを見れ て便利です。ざっくり最近の数10個を確認すると 分類: 一言説明 詳細な情報 みたいになっていることがわかります。「分類」はファイル名だっ たりクラス名だったりするので、そんなに厳密なものではなさそうで す。「一言説明」もそんなに厳密ではなさそうです。現在形なら大 文字始まりでも小文字始まりでもよさそうです。小文字始まりが少 し多いかなぁというくらいです。 ということで、雰囲気がわかったのでコミットします。私ならこん な感じにします。 glib% git commit glib% git log -1 commit 3a9710f74e055813667d1d60b8a60668676da197 Author: Kouhei Sutou <ko...@cl...> Date: Sat Nov 2 22:07:19 2013 +0900 test: add missing $(EXEEXT) $(EXEEXT) is needed for executable file path. Because some platforms such as Windows require extension such as .exe for executable file path. コミットしたらパッチを作ります。 glib% git format-patch origin/master 0001-test-add-missing-EXEEXT.patch カレントディレクトリに0001-test-add-missing-EXEEXT.patchとい うファイル名でパッチができます。これをGLibに報告します。 GLibは https://bugzilla.gnome.org/ でバグレポートを受け付け ています。まず、ログインします。 バグレポートをする前にすでに同じ問題がないか確認します。とい うか、直す前にまず確認したほうがいいですね!ここに同じ問題が 報告されていてパッチもついていてそれでよさそうならそれを使え ばいいので。 まぁ、それはいいとして画面上部の検索フォームにキーワードを入 れて「Find」ボタンを推します。今回の場合は「EXEEXT」でいいで しょう。 https://bugzilla.gnome.org/buglist.cgi?quicksearch=EXEEXT 昔、私が報告したEXEEXTが足りないよバグレポートが放置されてい たりしますが、 https://bugzilla.gnome.org/show_bug.cgi?id=690879 今回はこっちが少し似ているかもですねえ。 https://bugzilla.gnome.org/show_bug.cgi?id=711047 が、これはVisual StudioでビルドするためにVisual Studio用の Makefileを追加する方向みたいなので少し違いそうです。 ということで、問題を報告します。 画面上部のメニューの「New」→「All」→「glib」とリンクをたど ります。(ページ内検索しないと見つけるのが大変でしょう。) バグレポートのフォームがでてきますね。 「Component」は「win32」で「Version」は「2.39.x」で「OS」は 難しいところですが「Linux」ですかねぇ。Linux上でクロスコンパ イルしているので。 「Summary」に一言説明を書きます。うーん、私なら 「Cross compiling on Linux with Wine for Windows with mingw64 fails to build test/gobject/.」ですかねぇ。 「Description」には以下を含めます。 * 何が問題かの説明 * 再現方法 * 期待する結果 * 実際の結果 問題を解決するために必要な情報ですね。私達も開発者なので、自 分がどんな情報をもらえば問題を解決しやすいかは考えやすいと思 います。 今回の場合は「再現方法」でクロスコンパイルしないといけないで すねぇ。。。ruby-gnome2をcloneしてとかは敷居が高いのでできれ ばコマンドラインの羅列にしたいところですが、依存ライブラリー とか用意するの面倒ですよねぇ。。。 本質的には↓だけでいいんですが、 % ./configure --host=i686-w64-mingw32 FFIとか用意しないといけないんですよねぇ。 私の過去の報告をみると再現方法書いていないですね。。。 https://bugzilla.gnome.org/show_bug.cgi?id=690879 ま、まぁ、今回は再現方法はいいかなぁ。。。 「Attachment」に0001-....patchを添付して、Descriptionにはパッ チの説明を書きます。私は「A patch that fixes the problem.」 とか書いています。 最後に「Commit」でバグレポートは完了です。 と長々書きましたが、私はいつもこんな感じでやっています! |
From: Kouhei S. <ko...@co...> - 2013-11-02 12:17:12
|
須藤です。 In <CAE...@ma...> "Re: [ruby-gnome2-devel-ja] Windows用gemのクロスコンパイルと動作確認について" on Fri, 1 Nov 2013 01:54:44 +0900, Masafumi Yokoyama <my...@gm...> wrote: >> 少し古くなってますけど。。。 >> 例えば、今はrake dist:testでtar.gzのテストができたりします。 > > 更新した方がよさそうですか? はい! おねがいします! 最新の情報に追従して、リリースするときはそれを参照すればだれ でもできる状態にしたいです! GLib 2.38.1の方は別メールで。。。 |
From: Masafumi Y. <my...@gm...> - 2013-11-01 13:41:56
|
横山です。 2013年11月1日 1:54 Masafumi Yokoyama <my...@gm...>: >>> 早速ですが、GLib-2.38.1をクロスコンパイルしようとすると、 >>> >>> ../../gobject/glib-genmarshal.c:20:20: fatal error: config.h: >>> そのようなファイルやディレクトリはありません >>> >>> というエラーが出ました。 >>> https://gist.github.com/myokoym/7235664 >> >> うーん、クロスコンパイル判定がうまくいっていないような気が済 >> ますねぇ。クロスコンパイルしているときは >> gobject/glib-genmarshalを作るんじゃなくてシステムの >> glib-genmarshalを使うはずなんですよ。 >> >> configureすると >> >> checking whether we are cross compiling... >> >> みたいなのがでていると思うのでyesになっているか確認してみて >> ください。 > > noでした。。。何か足りてないでしょうか。(configureログを含めて貼り直しました↓) > https://gist.github.com/myokoym/7235664 checking whether we are cross compiling... が no になっていた 理由ですが、Windows用プログラムが実行できるかどうかで判定して いるらしく、Wineがインストールされているせいで実行できてしま ってnoになっているようです。とりあえず/usr/bin/wineをリネーム して試してみると、yesになって先に進みました。 |
From: Masafumi Y. <my...@gm...> - 2013-10-31 16:54:50
|
横山です。 2013年10月31日 23:18 Kouhei Sutou <ko...@co...>: > 私、2年前にこんなの書いていたんですね!すごい。。。 > https://github.com/ruby-gnome2/ruby-gnome2/blob/master/release.rd さすがです! > 少し古くなってますけど。。。 > 例えば、今はrake dist:testでtar.gzのテストができたりします。 更新した方がよさそうですか? > Rubyは2.0.0を使ってください。Ruby 1.9.3バンドルのRubyGemsが > 古くて最新のrake-compilerだと使えないんですよ。(1.9.3バンド > ルのRubyGemsをアップデートしてもいいです。) 了解です。 >> 早速ですが、GLib-2.38.1をクロスコンパイルしようとすると、 >> >> ../../gobject/glib-genmarshal.c:20:20: fatal error: config.h: >> そのようなファイルやディレクトリはありません >> >> というエラーが出ました。 >> https://gist.github.com/myokoym/7235664 > > うーん、クロスコンパイル判定がうまくいっていないような気が済 > ますねぇ。クロスコンパイルしているときは > gobject/glib-genmarshalを作るんじゃなくてシステムの > glib-genmarshalを使うはずなんですよ。 > > configureすると > > checking whether we are cross compiling... > > みたいなのがでていると思うのでyesになっているか確認してみて > ください。 noでした。。。何か足りてないでしょうか。(configureログを含めて貼り直しました↓) https://gist.github.com/myokoym/7235664 |
From: Kouhei S. <ko...@co...> - 2013-10-31 14:18:34
|
須藤です。 In <CAE...@ma...> "[ruby-gnome2-devel-ja] Windows用gemのクロスコンパイルと動作確認について" on Thu, 31 Oct 2013 09:28:51 +0900, Masafumi Yokoyama <my...@gm...> wrote: > 次のリリースに向けて、Windows用gemにバンドルするライブラリー > のバージョンアップと動作確認を始めました。 ありがとうございます! > 環境構築のメモはこちらです。 > https://gist.github.com/myokoym/6497033 うぉ! 私、2年前にこんなの書いていたんですね!すごい。。。 https://github.com/ruby-gnome2/ruby-gnome2/blob/master/release.rd 少し古くなってますけど。。。 例えば、今はrake dist:testでtar.gzのテストができたりします。 Rubyは2.0.0を使ってください。Ruby 1.9.3バンドルのRubyGemsが 古くて最新のrake-compilerだと使えないんですよ。(1.9.3バンド ルのRubyGemsをアップデートしてもいいです。) > * ruby-gnome2の全パッケージをインストール(たぶん不要) > * ruby-gnome2のrootでbundle install(たぶん不要) > * rcairoのrootでbundle install(たぶん不要) はい、不要です。(不要であって欲しい。) > バージョンアップの方針としては、現時点でstableのバージョンに > 上げようと思います。 > http://www.gtk.org/documentation.php はい、それでよいです! > 詰まったらエラーログなどを当MLに投げさせていただきますので、 > よろしくお願いします。 はい! > 早速ですが、GLib-2.38.1をクロスコンパイルしようとすると、 > > ../../gobject/glib-genmarshal.c:20:20: fatal error: config.h: > そのようなファイルやディレクトリはありません > > というエラーが出ました。 > https://gist.github.com/myokoym/7235664 うーん、クロスコンパイル判定がうまくいっていないような気が済 ますねぇ。クロスコンパイルしているときは gobject/glib-genmarshalを作るんじゃなくてシステムの glib-genmarshalを使うはずなんですよ。 configureすると checking whether we are cross compiling... みたいなのがでていると思うのでyesになっているか確認してみて ください。 |
From: Masafumi Y. <my...@gm...> - 2013-10-31 00:28:58
|
横山です。 次のリリースに向けて、Windows用gemにバンドルするライブラリー のバージョンアップと動作確認を始めました。 以前からクロスコンパイル環境を整えようとはしていたのですが、 本腰を入れて取り組もうと思います。 環境構築のメモはこちらです。 https://gist.github.com/myokoym/6497033 バージョンアップの方針としては、現時点でstableのバージョンに 上げようと思います。 http://www.gtk.org/documentation.php 詰まったらエラーログなどを当MLに投げさせていただきますので、 よろしくお願いします。 早速ですが、GLib-2.38.1をクロスコンパイルしようとすると、 ../../gobject/glib-genmarshal.c:20:20: fatal error: config.h: そのようなファイルやディレクトリはありません というエラーが出ました。 https://gist.github.com/myokoym/7235664 こちらでも調査を進めますが、もし既知の対応方法はあれば教えて くださいませ。 -- Masafumi Yokoyama http://myokoym.net/ |
From: Kouhei S. <ko...@co...> - 2013-10-30 12:47:00
|
須藤です。 In <526...@gm...> "Re: [ruby-gnome2-devel-ja] gdk3とgtk3のdeprecatation warningの対応を始めます" on Mon, 28 Oct 2013 23:57:26 +0900, hiroshi hatake <cos...@gm...> wrote: > 主にgdk3部分のPull Request #197 をマージしました! ありがとうございます! > 長かったです。 おつかれさまでした。 > 一息ついて、よくよく見ると省略可能な可変長引数のメソッドを定義しているの > にRG_DEF_METHODで-1指定していない! > > …という事で気を取り直してpushしました。。。 よくあることです! >> あぁ、別に大丈夫ですよ。 例えば、なんか不安だなぁってときは直接push >> じゃなくてpull requestにしてもいいですよ。 (pull requestにしなくても >> コミットは読んでいますけど。) せっかく、pull requestになっていたの >> で、気になったところにコ メントしておきました。自分でmasterに入れてい >> いなぁと思ったら 自分のタイミングで自分でマージしていいですよ! > わかりました! > > それを踏まえてなんか不安だなぁという時は > > * 自分では問題の方向性の判断が難しい時はissueを立てる > * 実装してみたけれどmasterに入れる前に見て下さい!という時にはPull requestへ > * masterにpushしても大丈夫そうという時はmasterに直接プッシュ > > にしようと思います! はい、それでよいと思います! ありがとうございます! |
From: hiroshi h. <cos...@gm...> - 2013-10-28 14:57:37
|
畑ケです。 主にgdk3部分のPull Request #197 をマージしました! 長かったです。 一息ついて、よくよく見ると省略可能な可変長引数のメソッドを定義しているの にRG_DEF_METHODで-1指定していない! …という事で気を取り直してpushしました。。。 > あぁ、別に大丈夫ですよ。 例えば、なんか不安だなぁってときは直接push > じゃなくてpull requestにしてもいいですよ。 (pull requestにしなくても > コミットは読んでいますけど。) せっかく、pull requestになっていたの > で、気になったところにコ メントしておきました。自分でmasterに入れてい > いなぁと思ったら 自分のタイミングで自分でマージしていいですよ! わかりました! それを踏まえてなんか不安だなぁという時は * 自分では問題の方向性の判断が難しい時はissueを立てる * 実装してみたけれどmasterに入れる前に見て下さい!という時にはPull requestへ * masterにpushしても大丈夫そうという時はmasterに直接プッシュ にしようと思います! -- Hatake Hiroshi cos...@gm... |
From: Kouhei S. <ko...@co...> - 2013-10-27 10:27:15
|
須藤です。 In <526...@gm...> "Re: [ruby-gnome2-devel-ja] gdk3とgtk3のdeprecatation warningの対応を始めます" on Sat, 26 Oct 2013 15:59:14 +0900, hiroshi hatake <cos...@gm...> wrote: > GDK+3部分とGTK+3部分の一部を対応しました。 ありがとうございます! > 一点だけ謝らないといけないことがあります。 > それは、コミット権が有るのに誤ってPull Requestを出してしまったことです。 あぁ、別に大丈夫ですよ。 例えば、なんか不安だなぁってときは直接pushじゃなくてpull requestにしてもいいですよ。 (pull requestにしなくてもコミットは読んでいますけど。) せっかく、pull requestになっていたので、気になったところにコ メントしておきました。自分でmasterに入れていいなぁと思ったら 自分のタイミングで自分でマージしていいですよ! > 直接masterにプッシュするのもどうかなぁとiPadを見ながらGithubで差分を見な > がら悩んでいると、 > 気づくとPull Requestを送っていました。。。 すごい!無意識pull request! > # このままcloseするのもなんなのでどうしようと思いメーリングリストにメー > ルしました > # すいませんでした いえいえ、なんかあったときにメーリングリストで相談するのはと てもよいと思うのでこれからも続けてくれるとうれしいです! |
From: hiroshi h. <cos...@gm...> - 2013-10-26 06:59:26
|
畑ケです。 GDK+3部分とGTK+3部分の一部を対応しました。 一点だけ謝らないといけないことがあります。 それは、コミット権が有るのに誤ってPull Requestを出してしまったことです。 事の経緯は以下のような感じです: 直接masterにプッシュするのもどうかなぁとiPadを見ながらGithubで差分を見な がら悩んでいると、 気づくとPull Requestを送っていました。。。 # このままcloseするのもなんなのでどうしようと思いメーリングリストにメー ルしました # すいませんでした (2013年10月23日 23:51), Kouhei Sutou wrote: > 須藤です。 > > In <526...@gm...> > "Re: [ruby-gnome2-devel-ja] gdk3とgtk3のdeprecatation warningの対応を始めます" on Wed, 23 Oct 2013 00:30:23 +0900, > hiroshi hatake <cos...@gm...> wrote: > >> deprecation warningが出ているAPIですが、 >> GTK+2の時はGdk::Windowだけで頑張れたAPIをGTK+3が推奨するAPIを使うよう変 >> 更しようとすると >> Gdk::Deviceのオブジェクトも必要になっているものがありますね。。。 > はい、そうですね。 > >> # GTK+3はまともに対応するとなるとかなりGTK+2からAPIが変わってしまいます >> ね。。。 > それは、まぁ、しょうがないです。 > > 最初にGTK+ 3対応を進めてくれた青柳さんはかなりがんばって > gdk3/lib/gdk3/deprecated.rbを用意してくれていて、これはGTK+ 2 > からの移行組の人にはだいぶ役に立つんじゃないかなぁと思います。 > > が、これをやりながらGTK+ 3対応を進めていくのもなかなか大変な > のでいい感じの落とし所があればいいなぁとは思っています。 > (思いついていないですが。) > >> # 最初の印象以上に手強いです。。。 > コンテキスト毎のselfを意識できるようになったと思うので、最初 > の山は超えたのかなぁと思います。まぁ、まだ山はあると思います > が。。。 > > あ、引数のselfを使うようになったところはG_GNUC_UNUSEDを外し > ちゃっていいです。これは、コンパイラーのwarningを消すための > もので、引数を使うようになったらwarningはでなくなるので。 > -- Hatake Hiroshi cos...@gm... |
From: Kouhei S. <ko...@co...> - 2013-10-23 14:51:39
|
須藤です。 In <526...@gm...> "Re: [ruby-gnome2-devel-ja] gdk3とgtk3のdeprecatation warningの対応を始めます" on Wed, 23 Oct 2013 00:30:23 +0900, hiroshi hatake <cos...@gm...> wrote: > deprecation warningが出ているAPIですが、 > GTK+2の時はGdk::Windowだけで頑張れたAPIをGTK+3が推奨するAPIを使うよう変 > 更しようとすると > Gdk::Deviceのオブジェクトも必要になっているものがありますね。。。 はい、そうですね。 > # GTK+3はまともに対応するとなるとかなりGTK+2からAPIが変わってしまいます > ね。。。 それは、まぁ、しょうがないです。 最初にGTK+ 3対応を進めてくれた青柳さんはかなりがんばって gdk3/lib/gdk3/deprecated.rbを用意してくれていて、これはGTK+ 2 からの移行組の人にはだいぶ役に立つんじゃないかなぁと思います。 が、これをやりながらGTK+ 3対応を進めていくのもなかなか大変な のでいい感じの落とし所があればいいなぁとは思っています。 (思いついていないですが。) > # 最初の印象以上に手強いです。。。 コンテキスト毎のselfを意識できるようになったと思うので、最初 の山は超えたのかなぁと思います。まぁ、まだ山はあると思います が。。。 あ、引数のselfを使うようになったところはG_GNUC_UNUSEDを外し ちゃっていいです。これは、コンパイラーのwarningを消すための もので、引数を使うようになったらwarningはでなくなるので。 |
From: hiroshi h. <cos...@gm...> - 2013-10-22 15:30:35
|
畑ケです。 (2013年10月22日 23:49), Kouhei Sutou wrote: > 須藤です。 > > In <201...@co...> > "Re: [ruby-gnome2-devel-ja] gdk3とgtk3のdeprecatation warningの対応を始めます" on Mon, 21 Oct 2013 23:27:58 +0900 (JST), > Kouhei Sutou <ko...@co...> wrote: > >>> gdkdisplay.hやgdkwindow.hに定義されているGDK_DEPRECATED_IN_3_0_FORによる >>> 以下のようなdeprecation warningが出てしまっています。(長いので抜粋) >> ... >>> これはGithubにはIssueが立っていませんが、 >>> Ruby-GNOME2のgdk3,gtk3はのGTK+ 3.4.2 or laterが要求されている為、 >>> GTK+ 3.4までの環境でgdk3とgtk3のgemをインストールした際に出力される >>> deprecation warningに対応しようと考えています。 >> はい、よろしくおねがいします! >> >> ちなみに、GTK+ 3.4.2 or laterなのはDebian GNU/Linux wheezyが >> 提供しているGTK+が3.4.2だからだったりします。 > ちょっとソースを見てみたんですが、対応していないメソッドがそ > こそこありそうなので、手書きで一つずつ対応していくのは辛そう > だなぁという気がしてきました。。。 > > clutter(*)のようにGObjectIntrospectionベースで頑張っていくの > がいいような気がします。 > > https://github.com/ruby-gnome2/ruby-gnome2/tree/master/clutter > > ということで、とりあえず、ディレクトリを掘ってみました。 > gtk3/の方もやらないと動かせませんが。。。 > > https://github.com/ruby-gnome2/ruby-gnome2/tree/master/gdk3-gi 対応してないメソッドをどうやって対応させるか頭を悩ませていたところでした。 助かります! deprecation warningが出ているAPIですが、 GTK+2の時はGdk::Windowだけで頑張れたAPIをGTK+3が推奨するAPIを使うよう変 更しようとすると Gdk::Deviceのオブジェクトも必要になっているものがありますね。。。 例えば、須藤さんに指摘していただいた https://github.com/ruby-gnome2/ruby-gnome2/commit/eeeccc927147af47458a102af08e5786e0ad27be#diff-aa4bfedd0d165a6d946c9ee3fd026c63R64 もその一つです。 # GTK+3はまともに対応するとなるとかなりGTK+2からAPIが変わってしまいます ね。。。 # 最初の印象以上に手強いです。。。 -- Hatake Hiroshi cos...@gm... |