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

**はじめに [#s1b96e50]
-手順はほぼ http://developer.pidgin.im/wiki/BuildingWinPidgin に書いてあるまんまです
--必要なものは殆ど上記URLからリンクされてます
-作業はWindowsXP Professional x64 Edition 上で行いました

**Cygwinを入れる [#qf965a5b]

bashとかpatchとかtarとか使う

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

**MinGWを入れる [#ub85a729]

必要とされる以下のツール・ライブラリなどを[[MinGWのサイト>http://www.mingw.org/]]から落とす
- [[binutils-2.20>http://sourceforge.net/projects/mingw/files/GNU%20Binutils/binutils-2.20/binutils-2.20-1-mingw32-bin.tar.gz/download]]
- [[mingw-runtime 3.17 dev>http://sourceforge.net/projects/mingw/files/MinGW%20Runtime/mingwrt-3.17-mingw32-dev.tar.gz/download]]
- [[mingw-runtime 3.17 dll>http://sourceforge.net/projects/mingw/files/MinGW%20Runtime/mingwrt-3.17-mingw32-dll.tar.gz/download]]
- [[w32-api 3.14>http://sourceforge.net/projects/mingw/files/MinGW%20API%20for%20MS-Windows/w32api-3.14/w32api-3.14-mingw32-dev.tar.gz/download]]
- [[gmp 4.2.4>http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gmp-4.2.4-mingw32-dll.tar.gz/download]]
- [[libiconv 1.13.1>http://sourceforge.net/projects/mingw/files/MinGW%20libiconv/libiconv-1.13.1-1-mingw32-dll-2.tar.lzma/download]]
- [[MPFR 2.4.1>http://sourceforge.net/projects/mingw/files/GCC%20Version%204/mpfr-2.4.1-mingw32-dll.tar.gz/download]]
- [[pthreads 2.8.0>http://sourceforge.net/projects/mingw/files/GCC%20Version%204/pthreads-w32-2.8.0-mingw32-dll.tar.gz/download]]
- [[gcc-core 4.4.0 bin>http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-core-4.4.0-mingw32-bin.tar.gz/download]]
- [[gcc-core 4.4.0 dll>http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-core-4.4.0-mingw32-dll.tar.gz/download]]

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

**コンパイルする場所を決める [#t7dfd139]

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

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

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

 mkdir win32-dev


**gtk関連のファイルを展開 [#vde7b31c]

win32-devにgtk_2_0-2.14というディレクトリを掘って
その中に
[[gtk+-bundle_2.14.7-20090119_win32.zip>http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/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を展開 [#q0faf452]

win32-devにgettext-0.17というディレクトリを掘って,
その中に
[[gettext-tools-0.17.zip>http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip]]と
[[gettext-runtime-0.17-1.zip>http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17-1.zip]]を展開する

以下のように置けばOK
  win32-dev/gettext-0.17/bin
  win32-dev/gettext-0.17/lib
  ...

**libxml2を展開 [#za1594fd]

win32-devにlibxml2-2.7.4というディレクトリを掘って,
その中に
[[libxml2-dev_2.7.4-1_win32.zip>http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.4-1_win32.zip]]

[[libxml2_2.7.4-1_win32.zip>http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.4-1_win32.zip]]
を展開

以下のように置けばOK
  win32-dev/libxml2-2.7.4/bin
  win32-dev/libxml2-2.7.4/lib
  ...

**ActivePerlを入れる [#d556b373]

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

ちなみに、C:\Perlに入る

パスを通しておく
 export PATH=/cygdrive/c/Perl/bin:$PATH

**perl_5-10-0.tar.gzを展開 [#x163adc2]

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

**tcl-8.4.5を展開 [#pefa8783]

win32-devに展開する
 tar zxvf ~/pidgin/tcl-8.4.5.tar.gz -C win32-dev

**gtkspell-2.0.16を展開 [#ie76e7e5]

win32-devに展開する
 tar jxvf ~/pidgin/gtkspell-2.0.16.tar.bz2 -C win32-dev

**Enchant-1.5.0を展開 [#l856e084]

win32-devにenchant_1.5.0-2_win32というディレクトリを掘って,
その中に
[[enchant_1.5.0-2_win32.zip>http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/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を展開 [#r4bd055f]

win32-devに置く

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

**silc-toolkit-1.1.8を展開 [#v226a4d9]

win32-devに置く

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

**meanwhile-1.0.2_daa2を展開 [#xc1d2e4a]

win32-devに置く

ディレクトリ構成に注意
 win32-dev/meanwhile-1.0.2_daa2/{bin,include,lib,share}

** Bonjourを置く [#qf675dfd]

[[Bonjour SDK for Windows 2.0.2 (Windows Executable)>http://developer.apple.com/opensource/]]をインストールし,インストール先のファイルを win32-dev/BonjourSDK の下に丸ごとコピー

ディレクトリ構成に注意
 win32-dev/Bonjour_SDK/Include
 win32-dev/Bonjour_SDK/Lib


**cyrus-sasl-2.1.22 を展開 [#ofec0b96]

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を入れる [#d89d9e90]

win32-devに置く

ディレクトリ構成に注意
 win32-dev/intltool_0.40.4-1_win32/{bin,share,manifest}


**pidgin本体の展開 [#n644179f]

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

** yazさんパッチを当てる [#za117328]

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

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

** ソース修正 [#bf77320d]

libpurple/protocols/jabber/win32/posix.uname.cを編集して上の方に以下を追加

 #include <glib.h>


** gtk-2.14.7-rev-a-installer の展開 [#jacc8464]

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

**pidgin-inst-depsを展開 [#vb0c8be5]

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

win32-devに展開する
 tar zxvf ~/pidgin/pidgin-inst-deps-20100315.tar.gz -C win32-dev


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

 LANG=C make -f Makefile.mingw install

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

**nsis-2.46をインストール [#v397c3c0]

インストールしたら、パスを通す (64bit環境なんでインストール先がアレですが・・・)
 PATH=/cygdrive/c/Program\ Files\ \(x86\)/NSIS:$PATH

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



**GTKのランタイムの設置 [#z9b61128]

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


** インストーラ構築 [#nc24a8ed]

あとはpidgin-2.10.0ディレクトリに移動して、makeするだけ (勝手に
wgetとかしまくるので注意)
 unset LANG
 make -f Makefile.mingw installer

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

 mv pidgin-2.10.0{,-yaz}.exe


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS