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

はじめに

Cygwinを入れる

bashとかpatchとかtarとか使う

MinGWを入れる

http://www.mingw.org/download.shtml からgcc-core 3.4.2、binutils 2.15.91、mingw-runtime 3.9、win32api 3.9を落とす

C:\MinGW に入れる

cd /cygdrive/c
mkdir MinGW
cd MinGW
tar zxvf ~/pidgin/gcc-core-3.4.2-20040916-1.tar.gz
tar zxvf ~/pidgin/binutils-2.15.91-20040904-1.tar.gz 
tar zxvf ~/pidgin/mingw-runtime-3.9.tar.gz
tar zxvf ~/pidgin/w32api-3.9.tar.gz

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

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

Windows APIを入れる

tar zxvf ~/pidgin/w32api-3.9.tar.gz -C /cygdrive/c/MinGW

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

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

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

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

mkdir win32-dev

gtk関連のソースを展開

さっき掘ったwin32-devに展開する

tar zxvf ~/pidgin/gtk-dev-2.6.10-rev-a.tar.gz -C win32-dev

libxml2を展開

win32-devに展開

tar zxvf ~/pidgin/libxml2-2.6.30.tar.gz -C win32-dev

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

aspell-dev-0-50-3-3を展開

win32-devに置く際はディレクトリ構成に注意

以下のように置けばOK

win32-dev/aspell-dev-0-50-3-3/lib
win32-dev/aspell-dev-0-50-3-3/include

gtkspell-2.0.11-daa1を展開

win32-devに展開する

tar zxvf ~/pidgin/gtkspell-2.0.11-daa1.tar.gz -C win32-dev

nspr-4.6.4とnss-3.11.4を展開

win32-devに置く

これもディレクトリ構成に注意

win32-dev/nss-3.11.4/bin
win32-dev/nspr-4.6.4/bin

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 v1.0.6 (32-bit)をインストールし,lib/win32とIncludeを win32-dev/BonjourSDK の下にlib,includeという名前でコピー

ディレクトリ構成に注意

win32-dev/Bonjour_SDK/include/dns_sd.h
win32-dev/Bonjour_SDK/lib/dnssd.lib

libの下にあるのは dnssd.lib なので,MinGWのリンカがそのままつかえない形式.なので,reimpで変換する.

  • MinGW Utils (mingw-utils-0.3.tar.gz)を落としてきて,適当なところで展開する.
    http://sourceforge.net/project/showfiles.php?group_id=2435
  • binの下にreimp.exeがあるので,これにdnssd.libを食わせると libdnssd.a ができる.
    cd lib
    ~/compile/pidgin/bin/reimp.exe dnssd.lib
  • 以下のように,libdnssd.aが配置されるようにしておく
    win32-dev/Bonjour_SDK/lib/libdnssd.a

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

pidgin本体の展開

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

yazさんパッチを当てる

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

cd pidgin-2.6.5
zcat ~/pidgin/pidgin-2.6.5_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やwin32-devと同じ階層で展開しておく(ビルドは後で)

tar zxvf ~/pidgin/gtk-2.14.7-rev-a-installer.tar.gz

パスを控えめに通しておく

PATH=$PATH:~/compile/pidgin/gtk_installer/gtk_install_files/bin

pidginのビルド

pidgin-2.6.5 ディレクトリ内で以下を実行すればwin32-install-dir以下に実行ファイルができる

make -f Makefile.mingw install

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

nsis-2.35をインストール

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

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

先ほど展開したgtk-2.14.7-rev-a-installerをビルド

展開してできたディレクトリ(gtk_installer)に移動

pangoがおかしいみたいなので http://www.gtk.org/download-windows.html からpangoの バイナリを落とし,展開して出てくるbin/以下のファイルを gtk_installer/gtk_install_files/bin/ 以下にコピー.

以下を実行

./build.sh

pidgin-inst-deps.tar.gzを展開

win32-devに展開する

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

pidginのインストーラの構築

環境変数LANGをセットしているとNSISが落ちるので、ここで切っておく

unset LANG

あとはpidgin-2.6.5ディレクトリに移動して、makeするだけ

make -f Makefile.mingw installer installer_nogtk

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

mv pidgin-2.6.5{,-yaz}.exe
mv pidgin-2.6.5-no-gtk{,-yaz}.exe

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-01-15 (金) 10:21:15 (2626d)