WindowsXP でpidgin-2.7.7 のビルドをしてみるテスト

はじめに

Cygwinを入れる

bashとかpatchとかtarとか使う

最近はwgetとかzipとかunzipとかも使うようになってた

MinGWを入れる

必要とされる以下のツール・ライブラリなどをMinGWのサイトから落とす

C:\MinGW に入れる

cd /cygdrive/c
mkdir MinGW
cd MinGW
tar zxvf ~/pidgin/binutils-2.20-1-mingw32-bin.tar.gz
tar zxvf ~/pidgin/mingwrt-3.17-mingw32-dev.tar.gz
tar zxvf ~/pidgin/mingwrt-3.17-mingw32-dll.tar.gz
tar zxvf ~/pidgin/gmp-4.2.4-mingw32-dll.tar.gz
tar zxvf ~/pidgin/pthreads-w32-2.8.0-mingw32-dll.tar.gz
tar zxvf ~/pidgin/mpfr-2.4.1-mingw32-dll.tar.gz
tar zxvf ~/pidgin/gcc-core-4.4.0-mingw32-bin.tar.gz
tar zxvf ~/pidgin/gcc-core-4.4.0-mingw32-dll.tar.gz
lzma -c -k -d ~/pidgin/libiconv-1.13.1-1-mingw32-dll-2.tar.lzma | tar xvf -

入れたら、Cygwinのコマンドラインから使えるようにパスに追加

PATH=/cygdrive/c/MinGW/bin:$PATH

Windows APIを入れる

tar zxvf ~/pidgin/w32api-3.14-mingw32-dev.tar.gz -C /cygdrive/c/MinGW

コンパイルする場所を決める

日本語とかスペースがパスに混じってると不幸になるかもしれない

今回は ~/compile/pidgin/ 以下で作業をすることにする

コンパイルする場所に、win32-dev を作る

mkdir win32-dev

gtk関連のファイルを展開

win32-devにgtk_2_0-2.14というディレクトリを掘って その中に gtk+-bundle_2.14.7-20090119_win32.zipを展開する

以下のように置けばOK

 win32-dev/gtk_2_0-2.14/bin
 win32-dev/gtk_2_0-2.14/lib
 ...

gettextを展開

win32-devにgettext-0.17というディレクトリを掘って, その中に gettext-tools-0.17.zipgettext-runtime-0.17-1.zipを展開する

以下のように置けばOK

 win32-dev/gettext-0.17/bin
 win32-dev/gettext-0.17/lib
 ...

libxml2を展開

win32-devにlibxml2-2.7.4というディレクトリを掘って, その中に libxml2-dev_2.7.4-1_win32.ziplibxml2_2.7.4-1_win32.zip を展開

以下のように置けばOK

 win32-dev/libxml2-2.7.4/bin
 win32-dev/libxml2-2.7.4/lib
 ...

ActivePerlを入れる

5.10以上なら何でもいいっぽいが,32bit版のActivePerl-5.10.0.1003-MSWin32-x86-285500.msiをインストール

ちなみに、C:\Perlに入る (PidginのMakefileにはこのパスが埋め込まれている)

perl_5-10-0.tar.gzを展開

win32-devに展開

tar zxvf ~/pidgin/perl_5-10-0.tar.gz -C win32-dev

tcl-8.4.5を展開

win32-devに展開する

tar zxvf ~/pidgin/tcl-8.4.5.tar.gz -C win32-dev

gtkspell-2.0.16を展開

win32-devに展開する

tar jxvf ~/pidgin/gtkspell-2.0.16.tar.bz2 -C win32-dev

Enchant-1.5.0を展開

win32-devにenchant_1.5.0-2_win32というディレクトリを掘って, その中に enchant_1.5.0-2_win32.zip を展開する

以下のように置けばOK

 win32-dev/enchant_1.5.0-2_win32/bin
 win32-dev/enchant_1.5.0-2_win32/lib
 ...

nss-3.12.5-nspr-4.8.2を展開

win32-devに置く

tar zxvf ~/pidgin/nss-3.12.5-nspr-4.8.2.tar.gz -C win32-dev

silc-toolkit-1.1.8を展開

win32-devに置く

tar zxvf ~/pidgin/silc-toolkit-1.1.8.tar.gz -C win32-dev

meanwhile-1.0.2_daa2を展開

win32-devに置く

ディレクトリ構成に注意

win32-dev/meanwhile-1.0.2_daa2/{bin,include,lib,share}

Bonjourを置く

Bonjour SDK for Windows 2.0.2 (Windows Executable)をインストールし,インストール先のファイルを win32-dev/BonjourSDK の下に丸ごとコピー

ディレクトリ構成に注意

win32-dev/Bonjour_SDK/Include
win32-dev/Bonjour_SDK/Lib

cyrus-sasl-2.1.22 を展開

win32-devに置く

ディレクトリ構成に注意

win32-dev/cyrus-sasl-2.1.22-daa1/{bin,doc,include,lib}

cyrus-sasl-2.1.22-daa1/lib/の下には libsasl.lib しかないので,Bonjour のときと同じように reimp しておこう

~/compile/pidgin/bin/reimp.exe libsasl.lib

intltoolを入れる

win32-devに置く

ディレクトリ構成に注意

win32-dev/intltool_0.40.4-1_win32/{bin,share,manifest}

pidgin本体の展開

tar jxvf ~/pidgin/pidgin-2.7.7.tar.bz2

yazさんパッチを当てる

最新版はこちら → http://honeyplanet.jp/patch.html

cd pidgin-2.7.7
zcat ~/pidgin/pidgin-2.7.7_jp.diff.gz | patch -p1

po/ja.poにパッチを当てる

中身はこちら

patch -p0 < ~/pidgin/pidgin-2.6.5_japo.diff

gtk-2.14.7-rev-a-installer の展開

このファイルは、本当は後でインストーラを構築する段階で必要になるが、 これに入っているiconv.dllをpidgin本体のビルドで使いたいのでこの時点で 入れておく

pidgin-inst-depsを展開

なぜか実行ファイル作るときにも要求されるっぽいので先に入れておく

win32-devに展開する

tar zxvf ~/pidgin/pidgin-inst-deps-20100315.tar.gz -C win32-dev

pidginのビルド

pidgin-2.7.7 ディレクトリ内で以下を実行すればwin32-install-dir以下に実行ファイルができる(LANGをCにしておかないとこける)

LANG=C make -f Makefile.mingw install

インストーラも作りたい場合は以下へ続く

nsis-2.46をインストール

インストールしたら、パスを通す (64bit環境なんでインストール先がアレですが・・・)

PATH=/cygdrive/c/Program\ Files\ \(x86\)/NSIS:$PATH

nsisunzなるプラグインも必要らしいので http://nsis.sourceforge.net/Nsisunz_plug-in から落として,展開して出てくる nsisunz.dll を NSISのインストール先のPluginsの下に置いておく

GTKのランタイムの設置

http://sourceforge.net/projects/pidgin/files/GTK%2B%20for%20Windows/ から gtk-runtime-2.16.6.0.zip を落として,出てくるGtkというディレクトリを win32-devやpidgin-2.7.7と同じディレクトリに置く

インストーラ構築

あとはpidgin-2.7.7ディレクトリに移動して、makeするだけ (勝手に wgetとかしまくるので注意)

unset LANG
make -f Makefile.mingw installer

ちゃんと終わると、pidginの下にpidgin-2.7.7.exeができているので適宜リネーム

mv pidgin-2.7.7{,-yaz}.exe

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-11-25 (木) 08:40:59 (2521d)