>tabstop >Program >自作プログラム >Ruby/GtkEmbedMoz--

★Ruby/GtkEmbedMoz--

Untitled

はじめに

これは、Ruby/GtkEmbedMoz プロジェクトで開発されているモジュールに、 skipstone,Galeonのソースコードから適当な関数を見付けて付け加えたものです。 自分の使いたい機能を実現することを優先しているため変更が汚く、仕様も定まって いないのでこのモジュールをそのまま使うのは控えた方が良いかもしれませんが、 このようなことがrubyでできると言う参考にしてもらえるとありがたいと思っています。

必要な環境

Mozilla ver. 1.1以上 (Gtk+ 1.2もしくはGtk+ 2.0を用いたビルド)

Unix環境などで、gtk+を用いたMozillaが必要です。コンパイラのバージョンなどに よって動作する/しないが変わってくる(可能性がある)ので、できるだけ自分で ビルドしたものを使うことをお薦めします。Mozilla 1.0での動作は確認していません。

Ruby ver. 1.6以上

1.6より前のバージョンでの動作は確認していません。

ruby-gnome-0.30 もしくは ruby-gtk2-0.1モジュールとそのソースコード

Mozillaがgtk+1、gtk+2のどちらでコンパイルされているかによって決まります。 2002/12/29現在では、gtk+2でコンパイルされたバイナリは公式には出回っていません。

作者は

の環境で動作を確認しています。

ダウンロード

最新版は20030315です。

インストール方法

  1. Mozillaの開発用のヘッダをインストールします。rpmを使う場合は、

    • mozilla-nspr-devel
    • mozilla-nss-devel
    • mozilla-devel

    パッケージが必要になります。

  2. 環境変数 LD_LIBRARY_PATH に mozilla のインストールされているディレクトリを 指定します。(これがないとうまくコンパイルできない場合があるようです。)

    例えば

    % export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/mozilla-x.y.z

    とします。

  3. extconf.rbを実行してMakefileを作成します。

    % ruby extconf.rb         --with-mozilla-include-dir=wwww         --with-mozilla-lib-dir=xxxx         --with-ruby-glib-src-dir=yyyy         --with-ruby-gtk-src-dir=zzzz

    各オプションは次のような意味を持ちます。

    --with-mozilla-include-dir=<dir>

    Mozillaのヘッダファイルがあるディレクトリを指定します。

    --with-mozilla-lib-dir=<dir>

    Mozillaの共有ライブラリファイルがあるディレクトリを指定します。

    --with-ruby-glib-src-dir=<dir>

    gtk2を使う場合に, ruby-gtk2のソースコードを展開したディレクトリ中の glibディレクトリの位置を指定します。

    --with-ruby-gtk-src-dir=<dir>

    ruby-gnome(またはruby-gtk2)のソースコードを展開したディレクトリ中の gtkディレクトリの位置を指定します。

    --enable-gtk2

    ruby-gtk2を使ってコンパイルをします。

    例えば、次のようにオプションを指定します。

% ruby extconf.rb 	--with-mozilla-include-dir=/usr/include/mozilla-1.2.1/ 	--with-mozilla-lib-dir=/usr/lib/mozilla-1.2.1/ 	--with-ruby-glib-src-dir=../ruby-gnome-all-0.30/gtk/src/ 	--with-ruby-gtk-src-dir=../ruby-gnome-all-0.30/gtk/src/
  1. makeコマンドを用いてコンパイルおよびインストールを行います。
% make
% su
--rootになる--
# make install

テスト

テストプログラムを実行するには、環境変数LD_PRELOADを設定する必要があります。

% export LD_PRELOAD=libpthread.so	#bash他の場合
% setenv LD_PRELOAD libpthread.so	#tcshの場合

sampleディレクトリにあるtest.rbを実行します。引数に適当な URLを指定しないとエラーになるので気をつけて下さい。

% test.rb http://www.yahoo.com/

これでyahooのサイトが表示されれば成功です。

Ruby/GtkEmbedMozとの差分

何に使うのか

もともとlbで使うために拡張したモジュールなので、 もし使うのであればそちらを使ってやって下さい。

ToDo

これ以上機能を追加してもforkしたプロジェクトがたくさんできるだけになってしまうので特に予定はありません。本家のプロジェクトに協力してください。

ライセンス

参照元のソースコードのライセンスに従ってGPLで配布します。

最終更新日: 2003年1月9日