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

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

**Cygwinを入れる [#qf965a5b]

bashとかpatchとかtarとか使う

**MinGWを入れる [#ub85a729]

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.5.tar.gz -C /cygdrive/c/MinGW

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

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

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

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

 mkdir win32-dev


**gtk関連のソースを展開 [#vde7b31c]

さっき掘ったwin32-devに展開する
 tar zxvf ~/pidgin/gtk-dev-2.6.10-rev-a.tar.gz -C win32-dev

**libxml2を展開 [#za1594fd]

win32-devに展開
 tar zxvf ~/pidgin/libxml2-2.6.24.tar.gz -C win32-dev

**ActivePerlを入れる [#d556b373]

ActivePerl-5.8.4.810-MSWin32-x86.zip を展開して Installer.bat をダブルリックして、Enterを押し続ければ完了

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

**perl582.tar.gzを展開 [#x163adc2]

win32-devに展開
 tar zxvf ~/pidgin/perl582.tar.gz -C win32-dev

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

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

**aspell-dev-0-50-3-3を展開 [#fac9253d]

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

以下のように置けばOK
 win32-dev/aspell-dev-0-50-3-3/lib
 win32-dev/aspell-dev-0-50-3-3/include

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

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

**nspr-4.6.4とnss-3.11.4を展開 [#r4bd055f]

win32-devに置く

これもディレクトリ構成に注意
 win32-dev/nss-3.11.4/bin
 win32-dev/nspr-4.6.4/bin

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

win32-devに置く

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

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

win32-devに置く

ディレクトリ構成に注意
 win32-dev/meanwhile-1.0.2/bin

** なんだボンジュールって [#qf675dfd]

Bonjour SDK 1.0.3を入れて,libとincludeを win32-dev/BonjourSDK の下にコピー

ディレクトリ構成に注意
 win32-dev/Bonjour_SDK/{include,lib}

libの下にあるのは dnssd.lib なので,MinGWのリンカがそのままつかえない形式.なので,reimpで変換してやる必要がある(;´д`)
- MinGW Utils (mingw-utils-0.3.tar.gz)を落としてきて,適当なところで展開する.~
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82721&release_id=158859
- binの下にreimp.exeがあるので,これにdnssd.libを食わせると libdnssd.a ができる.
 reimp.exe dnssd.lib
- 以下のように,libdnssd.aが配置されるようにしておく
 win32-dev/Bonjour_SDK/lib/libdnssd.a


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

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

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

%% 最新版はこちら → http://honeyplanet.jp/patch.html %% ~
2007年8月22日現在,アップされてないので2.0.2用のを適当にマージしたものを当てる~
http://obn.sakura.ne.jp/pidgin-2.1.0_jp0.diff.gz

 cd pidgin-2.1.0
 zcat ~/pidgin/pidgin-2.1.0_jp0.diff.gz | patch -p1

** gtk-2.6.10-rev-b-installerの展開 [#jacc8464]

このファイルは、本当は後でインストーラを構築する段階で必要になるが、
これに入っているiconv.dllをpidgin本体のビルドで使いたいのでこの時点で
入れておく
 
pidginやwin32-devと同じ階層で展開しておく(ビルドは後で)
 tar zxvf ~/pidgin/gtk-2.10.11-rev-b-installer.tar.gz

パスを控えめに通しておく
 PATH=$PATH:~/compile/pidgin/gtk_installer/gtk_install_files/bin

**pidginのビルド [#wd741146]

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

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


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

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

**先ほど展開したgtk-2.10.11-rev-b-installerをビルド [#sfb0ec31]

展開してできたディレクトリ(gtk_installer)に移動して以下を実行
 ./build.sh

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

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

** pidginのインストーラの構築 [#oeacb864]

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

そのままだと Catalan.nsh が無いとか言ってこけるので,pidgin/win32/nsis/pidgin-installer.nsi  内の記述を消しておく
%%そのままだと Catalan.nsh が無いとか言ってこけるので,pidgin/win32/nsis/pidgin-installer.nsi  内の記述を消しておく%%~
gtk_installerが古かっただけっぽい・・・orz (2007-10-02)
 171d170
 <   !insertmacro MUI_LANGUAGE "Catalan"
 209d207
 <   !insertmacro PIDGIN_MACRO_INCLUDE_LANGFILE "CATALAN" \
               "${PIDGIN_NSIS_INCLUDE_PATH}\translations\catalan.nsh"
 569,572d566
 <   Section /o $(PIDGIN_SPELLCHECK_CATALAN) SecSpellCheckCatalan
 <     Push ${SecSpellCheckCatalan}
 <     Call InstallAspellAndDict
 <   SectionEnd
 807,808d800
 <   !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckCatalan} \
 <         "$(PIDGIN_SPELLCHECK_CATALAN) (3.9Mb)"
 1446,1448d1437
 <   IntCmp $R0 ${SecSpellCheckCatalan} 0 +3 +3
 <   StrCpy $R0 "ca"
 <   Goto done

pidgin/win32/nsis/translations/swedish.nsh の先頭にゴミが入ってる?vimで消せないのでgawkで適当に消してみる.
 cp pidgin/win32/nsis/pidgin-installer.nsi{,.org}
 gawk 'NR>1{print $0}' ./pidgin/win32/nsis/translations/swedish.nsh.org >! ./pidgin/win32/nsis/translations/swedish.nsh

あとはpidgin-2.1.0ディレクトリに移動して、makeするだけ
 make -f Makefile.mingw installer installer_nogtk

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

 mv pidgin-2.1.0.exe pidgin-2.1.0-yaz0.exe 
 mv pidgin-2.1.0-no-gtk.exe pidgin-2.1.0-no-gtk-yaz0.exe

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