bitlbee-1.2.3をCygwinでビルドした。

bitlbee-1.2.7はパッチ無しでCygwinビルドできました。 普通に./configure && make install すればOK。
      • -

BitlBee - Home
bitlbee-0.92-setup.exeというWindowsバイナリもあるけど、cygwin1.dllが同梱されててバージョンの異なるcygwin1.dllが混ざってしまう不具合が起きるのでいやんな感じ。
あと0.92というバージョンも古くていやんなので自前でビルドすることにしました。

普通にビルドできなかったので、色々調べたところ#364 (compilation under cygwin missing getaddrinfo) – BitlBeeを発見。
でもこのパッチはこのままじゃ使えなくて修正を加えたので、そいつをPublic Dropboxに置いておきます(下記でcurlしてるやつ)

% tar zxvf bitlbee-1.2.3.tar.gz
% cd bitlbee-1.2.3
% curl http://dl.dropbox.com/u/264781/bitlbee-1.2.3-cygwin.patch | patch -p1
% ./configure
BitlBee configure

Architecture: CYGWIN_NT-5.1
Cygwin is not officially supported.

Configuration done:
  Debugging disabled.
  Binary stripping enabled.
  Using event handler: glib
  Using SSL library: gnutls
  Building with these storage backends: text xml
  Building with these protocols: msn jabber oscar yahoo
% make
% make install
SSL libraryにはgnutlsを使うこと!(gnutls-develとlibgcrypt-develが必要)
opensslでビルドしてしまうと、Google TalkJabberで接続する際
jabber - Logging in: Connecting
jabber - Logging in: Connected to server, logging in
jabber - Couldn't log in: Short write() to server
jabber - Logging in: Signing off..
などと言われてログインできない!→参考#379 (Unable to login with gmail account) – BitlBee

/usr/local/etc/bitlbee/bitlbee.conf をいじる。とりあえず

RunMode = Daemon

だけ書いた。
/usr/local/sbin/bitlbee を起動してIRCクライアントで接続。各種メッセンジャーのアカウントたちを登録して・・・できたー。

Cygwinの外から起動する時は-n(Don't fork)オプションを付けないとダメみたい。
でもこれだとコマンド窓が出っ放しになってしまうのでrun.exeを使う。

よって、Cygwin版bitlbeeをスタートアップに登録するBest Practiceは
1.bitlbee.confにて
RunMode = Daemon
を設定する。
2.スタートアップフォルダにショートカットを作り、リンク先を
C:\Cygwin\usr\bin\run.exe C:\Cygwin\usr\local\sbin\bitlbee.exe -n
とする

おまけ1

Google Talkに接続するには、設定が

username = `YOUR-GMAIL-ACCOUNT@gmail.com'
port = `5223'
server = `talk.google.com'
ssl = `true'
tls = `try'

となっていればOK

おまけ2

account setの使い方がちょっと変。

account set 1/server talk.google.com

のように書く。
account set 1 server=talk.google.com
とかの方が分かりやすいのになあ。