From: Kouhei S. <ko...@co...> - 2006-12-04 14:49:47
Attachments:
rbglib-mkenums.diff
|
須藤です. GLibはGType(GObject)に依存していないため,glib-mkenumsで自動 生成できるGTypeを提供していません.そのため,enumを定義する ためにRuby/GLib2が提供している便利マクロG_DEF_CONSTANTSを使 えません. ただ,Ruby/GLib2はGObjectに依存しているので,Ruby/GLib2側で GLibのヘッダーファイルからglib-mkenumsを用いてGTypeを作って も問題なさそうに思います.私は,Ruby/GLib2内でGLibのenumを定 義するためにG_DEF_CONSTANTSを使いたいので,こんなパッチを当 ててもいいですか? |
From: Masao M. <mu...@hi...> - 2006-12-04 17:26:35
|
むとうです。 On Mon, 04 Dec 2006 23:49:39 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > GLibはGType(GObject)に依存していないため,glib-mkenumsで自動 > 生成できるGTypeを提供していません.そのため,enumを定義する > ためにRuby/GLib2が提供している便利マクロG_DEF_CONSTANTSを使 > えません. > > ただ,Ruby/GLib2はGObjectに依存しているので,Ruby/GLib2側で > GLibのヘッダーファイルからglib-mkenumsを用いてGTypeを作って > も問題なさそうに思います.私は,Ruby/GLib2内でGLibのenumを定 > 義するためにG_DEF_CONSTANTSを使いたいので,こんなパッチを当 > ててもいいですか? なるほど。便利ですね。当ててくださいませ。 #ただ、これ、当てた後、既存のコード部分で定数を使っている #ところも修正が必要じゃないですか? ただ、せっかくですので、pkg-config.rbのように、 glib/src/lib/glib-mkenums.rb というファイルを作って、 他のライブラリからも呼び出すことができるようにして いただけるとさらにうれしいです ;)。 #まぁ、でも、ライブラリ化は別の機会にでも構いません。 |
From: Kouhei S. <ko...@co...> - 2006-12-05 14:56:55
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Ruby/GLib2でglib-mkenumsを使いたい" on Tue, 5 Dec 2006 02:26:21 +0900, Masao Mutoh <mu...@hi...> wrote: > > ただ,Ruby/GLib2はGObjectに依存しているので,Ruby/GLib2側で > > GLibのヘッダーファイルからglib-mkenumsを用いてGTypeを作って > > も問題なさそうに思います.私は,Ruby/GLib2内でGLibのenumを定 > > 義するためにG_DEF_CONSTANTSを使いたいので,こんなパッチを当 > > ててもいいですか? > > なるほど。便利ですね。当ててくださいませ。 > #ただ、これ、当てた後、既存のコード部分で定数を使っている > #ところも修正が必要じゃないですか? RVAL2GENUM()がIntegerの場合でも頑張って動いてくれるので大丈 夫だと思います. > ただ、せっかくですので、pkg-config.rbのように、 > glib/src/lib/glib-mkenums.rb というファイルを作って、 > 他のライブラリからも呼び出すことができるようにして > いただけるとさらにうれしいです ;)。 そうしました. |
From: Masao M. <mu...@hi...> - 2006-12-05 17:29:48
|
むとうです。 On Tue, 05 Dec 2006 23:56:41 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@hi...> > "Re: [ruby-gnome2-devel-ja] Ruby/GLib2でglib-mkenumsを使いたい" on Tue, 5 Dec 2006 02:26:21 +0900, > Masao Mutoh <mu...@hi...> wrote: > > > > ただ,Ruby/GLib2はGObjectに依存しているので,Ruby/GLib2側で > > > GLibのヘッダーファイルからglib-mkenumsを用いてGTypeを作って > > > も問題なさそうに思います.私は,Ruby/GLib2内でGLibのenumを定 > > > 義するためにG_DEF_CONSTANTSを使いたいので,こんなパッチを当 > > > ててもいいですか? > > > > なるほど。便利ですね。当ててくださいませ。 > > #ただ、これ、当てた後、既存のコード部分で定数を使っている > > #ところも修正が必要じゃないですか? > > RVAL2GENUM()がIntegerの場合でも頑張って動いてくれるので大丈 > 夫だと思います. まぁ、そうですね。ま、せっかくですので、おいおい対応していきましょうか。 > > ただ、せっかくですので、pkg-config.rbのように、 > > glib/src/lib/glib-mkenums.rb というファイルを作って、 > > 他のライブラリからも呼び出すことができるようにして > > いただけるとさらにうれしいです ;)。 > > そうしました. この際なので、ちと、API整理しちゃっていいですか? 現在: module GLib def mkenums(prefix, files, g_type_prefix, include_files) def mkenums_c(prefix, files, include_files) def mkenums_h(prefix, files, g_type_prefix) def run_mkenums(output, config, files) end module GLibMkenums def exist?(pkg) def libs(pkg) def libs_only_L(pkg) def libs_only_l(pkg) def cflags(pkg) def cflags_only_I(pkg) def cflags_only_other(pkg) def variable(pkg, var) def modversion(pkg) def version def list_all def name(pkg) def description(pkg) def provides(pkg) def requires(pkg) def check_version?(pkg, major = 0, minor = 0, micro = 0) def have_package(pkg, major = nil, minor = 0, micro = 0) end 変更案: module GLibMkenums def create(prefix, files, g_type_prefix, include_files) #was mkenums def create_c(prefix, files, include_files) #was mkenum_c def create_h(prefix, files, g_type_prefix) #was mkenum_h def run(output, config, files) #was run_mkenums def exist?(pkg) def libs(pkg) def libs_only_L(pkg) def libs_only_l(pkg) def cflags(pkg) def cflags_only_I(pkg) def cflags_only_other(pkg) def variable(pkg, var) def modversion(pkg) def version def list_all def name(pkg) def description(pkg) def provides(pkg) def requires(pkg) def check_version?(pkg, major = 0, minor = 0, micro = 0) def have_package(pkg, major = nil, minor = 0, micro = 0) end ・GLib直下にメソッドを作らずにGLibMkenumsにまとめる。 →GLibMkenumsはGlib::Mkenumsの方が良いかもしれませんね。 ・GLib直下に配置していたメソッド名はcreate_, runと変えてみました。 create_, run以外でもexecuteとかでもいいかもしれません。 exist?以下の配置を見るとClassにしても良いかなぁ、 とちょっと思いました。 PKGconfigも同じ構成なんですよねぇ。まぁ、歴史的な経緯もあるので それはひとまず棚にあげて。 module GLib class Mkenums def self.create(prefix, files, g_type_prefix, include_files) #was mkenums def self.create_c(prefix, files, include_files) #was mkenum_c def self.create_h(prefix, files, g_type_prefix) #was mkenum_h def self.run(output, config, files) #was run_mkenums def self.version def self.list_all def initialize(pkg) def exist? def libs def libs_only_L def libs_only_l def cflags def cflags_only_I def cflags_only_other def variable(var) def modversion def name def description def provides def requires def check_version?(major = 0, minor = 0, micro = 0) def have_package(major = nil, minor = 0, micro = 0) end end 例: mkenums = GLib::Mkenums.new(pkg) mkenums.cflags mkenums.libs って。こっちはちょっとやりすぎですかね? まぁ、GLib直下にメソッドを作らなければModuleでもClassでも いいかなぁ、と思いますが、どうでしょう。 |
From: Kouhei S. <ko...@co...> - 2006-12-06 01:04:23
|
須藤です. 06/12/06 に Masao Mutoh<mu...@hi...> さんは書きました: > この際なので、ちと、API整理しちゃっていいですか? あぁ!!!ごめんなさい!!! GLibMkenumsはpkg-config.rbからコピペしたときにまるっと 残ったままでした...なので,GLibMkenumsは全然必要 ないです... > ・GLib直下にメソッドを作らずにGLibMkenumsにまとめる。 > →GLibMkenumsはGlib::Mkenumsの方が良いかもしれませんね。 > ・GLib直下に配置していたメソッド名はcreate_, runと変えてみました。 > create_, run以外でもexecuteとかでもいいかもしれません。 > まぁ、GLib直下にメソッドを作らなければModuleでもClassでも > いいかなぁ、と思いますが、どうでしょう。 はい,私はそれでもかまいません. ただ,「Mkenums」という「M」だけが大きい字面が気に入らない ので,もう少しいい名前があればなぁと思います. |
From: Masao M. <mu...@hi...> - 2006-12-06 15:49:54
|
むとうです。 On Wed, 6 Dec 2006 10:04:20 +0900 "Kouhei Sutou" <ko...@co...> wrote: > 須藤です. > > 06/12/06 に Masao Mutoh<mu...@hi...> さんは書きました: > > > この際なので、ちと、API整理しちゃっていいですか? > > あぁ!!!ごめんなさい!!! > GLibMkenumsはpkg-config.rbからコピペしたときにまるっと > 残ったままでした...なので,GLibMkenumsは全然必要 > ないです... > > > ・GLib直下にメソッドを作らずにGLibMkenumsにまとめる。 > > →GLibMkenumsはGlib::Mkenumsの方が良いかもしれませんね。 > > ・GLib直下に配置していたメソッド名はcreate_, runと変えてみました。 > > create_, run以外でもexecuteとかでもいいかもしれません。 > > > まぁ、GLib直下にメソッドを作らなければModuleでもClassでも > > いいかなぁ、と思いますが、どうでしょう。 > > はい,私はそれでもかまいません. えっと、どうしましょう。インプリまでしていただけると 非常に助かるんですが、私がやった方がよいですか? > ただ,「Mkenums」という「M」だけが大きい字面が気に入らない > ので,もう少しいい名前があればなぁと思います. まぁ、元のツールの名前を踏襲するというのはある意味しょうがない んじゃないでしょうか。GLib::MkEnums, GLib::MKEnumsでも良いか もしれません。 |
From: Kouhei S. <ko...@co...> - 2006-12-07 01:02:21
|
須藤です. 06/12/07 に Masao Mutoh<mu...@hi...> さんは書きました: > > > ・GLib直下にメソッドを作らずにGLibMkenumsにまとめる。 > > > →GLibMkenumsはGlib::Mkenumsの方が良いかもしれませんね。 > > > ・GLib直下に配置していたメソッド名はcreate_, runと変えてみました。 > > > create_, run以外でもexecuteとかでもいいかもしれません。 > > > > > まぁ、GLib直下にメソッドを作らなければModuleでもClassでも > > > いいかなぁ、と思いますが、どうでしょう。 > > > > はい,私はそれでもかまいません. > > えっと、どうしましょう。インプリまでしていただけると > 非常に助かるんですが、私がやった方がよいですか? > > > ただ,「Mkenums」という「M」だけが大きい字面が気に入らない > > ので,もう少しいい名前があればなぁと思います. > > まぁ、元のツールの名前を踏襲するというのはある意味しょうがない > んじゃないでしょうか。GLib::MkEnums, GLib::MKEnumsでも良いか > もしれません。 名前がピンとこないので自分で実装するのは気が引けます. この名前のままいくのであればお願いしたいです. GLib::UtilsとかGLib::Commandsの下にバラまくというのの なら私がやりますが...ただそうするとcreate{,_c,_h}と いう名前にはmkenusという単語がないと変な気がするので むとうさんの好みには合わなくなると思います. |
From: Masao M. <mu...@hi...> - 2006-12-26 09:25:04
|
むとうです。 glib-mkenums.rbですが、これが呼び出しているglib-mkenums ってPerlスクリプトなんですね。 Win32でコンパイルするためにPerlが必要、というのも準備が 大変になってしまう(Perlもインストールしないといけないから) ので、glib-mkenums.rbをglib-mkenumsを呼び出さないPure Ruby バージョンとして実装しなおしました。 改行の数等もほとんどオリジナルのglib-mkenums.rbと同等に なっているかと思いますが念のため確認していただけると 助かります。 それでは。 On Fri, 8 Dec 2006 00:25:55 +0900 Masao Mutoh <mu...@hi...> wrote: > むとうです。 > > On Thu, 7 Dec 2006 10:02:18 +0900 > "Kouhei Sutou" <ko...@co...> wrote: > > > 須藤です. > > > > 06/12/07 に Masao Mutoh<mu...@hi...> さんは書きました: > > > > > > > ・GLib直下にメソッドを作らずにGLibMkenumsにまとめる。 > > > > > →GLibMkenumsはGlib::Mkenumsの方が良いかもしれませんね。 > > > > > ・GLib直下に配置していたメソッド名はcreate_, runと変えてみました。 > > > > > create_, run以外でもexecuteとかでもいいかもしれません。 > > > > > > > > > まぁ、GLib直下にメソッドを作らなければModuleでもClassでも > > > > > いいかなぁ、と思いますが、どうでしょう。 > > > > > > > > はい,私はそれでもかまいません. > > > > > > えっと、どうしましょう。インプリまでしていただけると > > > 非常に助かるんですが、私がやった方がよいですか? > > > > > > > ただ,「Mkenums」という「M」だけが大きい字面が気に入らない > > > > ので,もう少しいい名前があればなぁと思います. > > > > > > まぁ、元のツールの名前を踏襲するというのはある意味しょうがない > > > んじゃないでしょうか。GLib::MkEnums, GLib::MKEnumsでも良いか > > > もしれません。 > > > > 名前がピンとこないので自分で実装するのは気が引けます. > > この名前のままいくのであればお願いしたいです. > > > > GLib::UtilsとかGLib::Commandsの下にバラまくというのの > > なら私がやりますが...ただそうするとcreate{,_c,_h}と > > いう名前にはmkenusという単語がないと変な気がするので > > むとうさんの好みには合わなくなると思います. > > GLib::Commands.mkenums ですか・・・。 > pkg-configもGLib::Commands.pkg_configとかを用意するって感じですかね。 > > まぁ、好みといわれればそうかもしれませんが、 > 上記のようなまとめ方をするんだったらGLib::MkEnumsとかの方が > 良いような気がします。 > > まぁ、そんな感じで近いうちに修正しますね。 > > それでは。 > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > ruby-gnome2-devel-ja mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-ja > |
From: Kouhei S. <ko...@co...> - 2006-12-26 11:18:53
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Ruby/GLib2でglib-mkenumsを使いたい" on Tue, 26 Dec 2006 18:24:46 +0900, Masao Mutoh <mu...@hi...> wrote: > ので、glib-mkenums.rbをglib-mkenumsを呼び出さないPure Ruby > バージョンとして実装しなおしました。 すごいです! > 改行の数等もほとんどオリジナルのglib-mkenums.rbと同等に > なっているかと思いますが念のため確認していただけると > 助かります。 手元ではRuby/GLib2もRuby/RSVGもRuby/GnomePrintUIも大丈夫でし た. # 一ヶ所コメントの中に空白を入れさせてもらいました. |
From: Masao M. <mu...@hi...> - 2006-12-07 15:26:13
|
むとうです。 On Thu, 7 Dec 2006 10:02:18 +0900 "Kouhei Sutou" <ko...@co...> wrote: > 須藤です. > > 06/12/07 に Masao Mutoh<mu...@hi...> さんは書きました: > > > > > ・GLib直下にメソッドを作らずにGLibMkenumsにまとめる。 > > > > →GLibMkenumsはGlib::Mkenumsの方が良いかもしれませんね。 > > > > ・GLib直下に配置していたメソッド名はcreate_, runと変えてみました。 > > > > create_, run以外でもexecuteとかでもいいかもしれません。 > > > > > > > まぁ、GLib直下にメソッドを作らなければModuleでもClassでも > > > > いいかなぁ、と思いますが、どうでしょう。 > > > > > > はい,私はそれでもかまいません. > > > > えっと、どうしましょう。インプリまでしていただけると > > 非常に助かるんですが、私がやった方がよいですか? > > > > > ただ,「Mkenums」という「M」だけが大きい字面が気に入らない > > > ので,もう少しいい名前があればなぁと思います. > > > > まぁ、元のツールの名前を踏襲するというのはある意味しょうがない > > んじゃないでしょうか。GLib::MkEnums, GLib::MKEnumsでも良いか > > もしれません。 > > 名前がピンとこないので自分で実装するのは気が引けます. > この名前のままいくのであればお願いしたいです. > > GLib::UtilsとかGLib::Commandsの下にバラまくというのの > なら私がやりますが...ただそうするとcreate{,_c,_h}と > いう名前にはmkenusという単語がないと変な気がするので > むとうさんの好みには合わなくなると思います. GLib::Commands.mkenums ですか・・・。 pkg-configもGLib::Commands.pkg_configとかを用意するって感じですかね。 まぁ、好みといわれればそうかもしれませんが、 上記のようなまとめ方をするんだったらGLib::MkEnumsとかの方が 良いような気がします。 まぁ、そんな感じで近いうちに修正しますね。 それでは。 |