DATE : 2008/07/19 (Sat)
Pidginから Twitter を利用する際に便利な機能を提供する pidgin-twitter プラグインがyaz さんによって公開されています。このプラグインを、Windows でビルドしてみました。本記事では、ビルドの方法をメモしておきます。なお、対象とする pidgin-twitter プラグインのバージョンは 0.7、Pidgin のバージョンは 2.4.3 です。
なお、Windows 版のバイナリはnosuke さんが公開されています。
Pidgin のビルド環境を整える
pidgin-twitter プラグインのビルドには、Pidgin を Windows でビルドできる環境が必要です。
Pidgin をビルドする環境を整えるには、Windows/Pidginをビルドしてみる/ビルド手順/pidgin-2.4.3 や Pidgin for Windows Build Instructions が参考になります。特に、後者のページは、必要となるライブラリへのリンクがあるので重宝します。
まずは、上記のページを見て Pidgin をビルドする直前まで準備を進めます。
Pidgin 公式の GTK+ パッケージと、最新版の GTK+ パッケージを入手する
このまま Pidgin のビルドを行いたいところですが、pidgin-twitter プラグインが対象とする GLib のバージョンは 2.14.0 以上となっており、上記のページで使用する GTK+ 2.6.10 は GLib のバージョンが古いため使用できません。
そこで、Pidgin for Windows Build Instructions - Install Pidgin's build dependencies - GTK+ から入手できる GTK+ 2.6.10 パッケージに加えて、GTK+ Download for Windows から、GLib や GTK+ など、「Dev」と書かれたパッケージをすべて入手します(本記事執筆時点の GLib のバージョンは 2.16.3、GTK+ のバージョンは 2.12.9 でした。他のパッケージのバージョンは省略します)。「Dev」と書かれたパッケージがない場合は、「Binaries」と書かれたものを入手します。ここで入手したパッケージは、Windows/Pidginをビルドしてみる/ビルド手順/pidgin-2.4.3 にあるように、win32-dev 以下に gtk_2_0 として配置してください(すでに GTK+ 2.6.10 を配置している場合は、配置した GTK+ 2.6.10 を削除するか、名前を適当に変えてください)。GLib や GTK+ などに依存するライブラリを配置する際に、同名のファイルを上書きするかどうか問われることがありますが、とりあえずサイズの大きな方を残しておけば問題ありませんでした。
なお、GTK+ Download for Windows から入手できる zlib 1.2.3 には、zlib1.dll は付属しているものの、libz.a などは付属していません。Pidgin をビルドする際には libz.a が必要となるため、libz 関係のファイルは Pidgin for Windows Build Instructions - Install Pidgin's build dependencies - GTK+ から入手できる GTK+ 2.6.10 パッケージに付属するものを使用します。GTK+ 2.6.10 のパッケージを解凍すると、gtk_2_0 フォルダが出てきます。gtk_2_0\lib 以下の、ファイル名の先頭が libz ファイル全てを win32-dev\gtk_2_0\lib フォルダにコピーします。
GetText for Windows を入手する
Pidgin 公式の GTK+ パッケージ(GTK+ 2.6.10)と GTK+ Download for Windowsから入手した最新の GTK+ パッケージ(GTK+ 2.12.9)比較すると、前者には GNU GetText のコマンド類が含まれていますが、後者には含まれていません。
そこで、GnuWin32 プロジェクトが提供する GetText for Windows を入手します。「Complete package, except sources」を選び、GetText for Windows をインストールします。インストール先にあるフォルダ(bin、libなど)をすべて、win32-dev\gtk_2_0 にコピーします。
MinGW の gcc が使用されるかどうか確認する
Pidgin のビルドには、MinGW の gcc を使用します。以下のコマンドを実行して、gcc に MinGW のものが使用されるかどうか確認してください。(「$」はプロンプトです)
$ which gcc
MinGW をインストールしたパスが結果に含まれていれば、MinGW の gcc が使用されます。Cygwin の gcc が使用されている場合は、Cygwin の gcc をアンインストールしてください。
(;^ω^)Cygwin の gcc を使用すると、Pidgin のビルドの途中で「undefined reference to `__errno'」というエラーが発生してビルドが失敗してしまいます。
pidgin-2.4.3\pidgin\plugins\perl\common\Makefile.mingw を修正する
以上で Pidgin をビルドできる環境は整いましたが、pidgin-2.4.3/pidgin/plugins/perl/common/Makefile.mingw に間違いがあるため、ビルドは失敗します。pidgin-2.4.3\pidgin\plugins\perl\common\Makefile.mingw を開き、18行目から始まる「INCLUDE_PATHS」マクロに「-I$(GTK_TOP)/include/cairo」を追加します。以下に、追加後の「INCLUDE_PATHS」マクロを示します。
INCLUDE_PATHS = -I. \ -I$(PIDGIN_TREE_TOP) \ -I$(PURPLE_TOP) \ -I$(PURPLE_TOP)/win32 \ -I$(PIDGIN_TOP) \ -I$(PIDGIN_TOP)/win32 \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/include/gtk-2.0 \ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/cairo \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(PERL_LIB_TOP)/CORE
Pidgin をビルドする
以上で、Pidgin 2.4.3 を GTK+ 2.12.9 でビルドする環境が整いました。
正しくビルドできるかどうか、pidgin-2.4.3 にカレントディレクトリを移動して実際にビルドして確かめておきます。
$ make -f Makefile.mingw install
pidgin-twitter プラグインをビルドする
pidgin-twitter プラグインは、C で書かれています。C で書かれたプラグインのビルドには、Basic C Plugin How-To - Compile, Install, and Load the Hello, World! Plugin の文書が役に立ちます。
pidgin-2.4.3\pidgin\plugins\Makefile.mingw を修正する
C で書かれたプラグインを Windows 環境でビルドするには、pidgin-2.4.3\pidgin\plugins\Makefile.mingw という Makefile を使用します。ところが、pidgin-twitter プラグインをビルドするのに必要なライブラリ libxml2 が、この Makefile.mingw には設定されていません。
そこで、pidgin-2.4.3\pidgin\plugins\Makefile.mingw を開き、
- 21行目から始まる「INCLUDE_PATHS」マクロに「-I../../../win32-dev/libxml2-2.6.30/include」
- 36行目から始まる「LIB_PATHS」マクロに「-L../../../win32-dev/libxml2-2.6.30/lib」
- 43行目から始まる「LIBS」マクロに「-lxml2」
を追加します。
pidgin-twitter プラグインのビルド
まず、pidgin-twitter プラグインのパッケージの中から、pidgin-twitter.c, pidgin-twitter.h を pidgin-2.4.3\pidgin\plugins にコピーします。
カレントディレクトリを pidgin-2.4.3/pidgin/plugins に移して、プラグインのビルドを行います。
$ make -f Makefile.mingw pidgin-twitter.dll
これで、pidgin-2.4.3\pidgin\plugins に pdgin-twitter.dll ができているはずです。あとはこれを、マシンにインストールされている Pidgin の プラグインフォルダに入れればインストールは完了です。
更新履歴
- 2008/07/19 pidgin-twitter プラグイン 0.7 に合わせて修正。
- 2008/05/09 公開