reMail for Gmailをビルドしてみた


AppStoreで売っていたころは使っていなかったのだけれども、iPhoneアプリのreMailというのがGmailと連携して便利らしい。
今日、マイコミジャーナルの「Google買収のiPhone用メールアプリ「reMail」、Apacheライセンスでオープンソース化」という記事を読んで、コード公開されたのならビルドしてみるか、と思い立ってビルドにチャレンジしてみた。

まず、Google Codeの中で remail-iphone プロジェクトとして公開されているということらしいので、さっそくWebを読んでみた。

ビルドには、XCodeとgit, mercurial / hgが必要ということなので、早速準備します。
XCodeとgitは既に私のマシンにはインストールされているのでスルー。gitもmercurial / hgもバージョン管理システムで、要はGoogle Codeからソースコードを持ってくるのに使うみたいだ。

まず、ターミナルを立ち上げ、

$ hg clone https://remail-iphone.googlecode.com/hg/ remail-iphone

として、ソースコードを取ってくる。
次に、

$ cd remail-iphone
$ sh pull_dependencies.sh

とコマンドを打って、XCodeでビルドする準備をするのだが、いくつか問題があった。

まず、私が作業した時点でopenssl.orgが落ちていたので、

$ vi build-crypto-deps/openssl/openssl.sh

して、

if [ ! -e openssl-0.9.8k.tar.gz ]; then
#    curl -O http://www.openssl.org/source/openssl-0.9.8k.tar.gz
    curl -O ftp://ftp.infoscience.co.jp/pub/Crypto/SSL/openssl/source/openssl-0.9.8k.tar.gz
fi

といった具合にミラーから落とすようにして対処した。
が、私の環境( Mac OS X Snow Leopard 10.6.2 / XCode 3.2.2 )ではcylus-saslのコンパイルでErrorを吐いてしまう。

make: *** [digestmd5.o] Error 1

こんなメッセージが出た。
で、調べてみたところ、

$ cd /usr/libexec/gcc
$ sudo ln -s i686-apple-darwin10 i686-apple-darwin9

として、Leopard (10.5)からSnow Leopard (10.6)になったときに変更されたgccのパスの問題を吸収してやれば良いみたいだ。

上記のpull_dependencies.shは、真面目に書いて無くってmake cleanしてくれないので、失敗したあと問題を上記のように修正してやってもビルドしかけのゴミが残ってしまっていたりする。いちいちmake cleanしかけたんだけど、面倒になって、mailcoreとthree20とremail-iphoneの3つのディレクトリを捨てて、再度手順を最初からすることにした。

ということで、まとめると、
1. ソースコードをhgで取ってくる
2. viでopensslを取ってくるURLを変更
3. libexecのgccの中にsymbolic linkを張ってやる
4. pull_dependencies.shを実行
5. ReMailIPhone.xcodeprojをダブルクリックしてXCodeを立ち上げ、識別子とコード署名を変更する。
6. 僕は Device – 3.0 | Debug で”ビルドと実行”をクリックしてビルド
という手順でiPhoneにreMail for Gmailをビルドして放り込むことができました。

日本語に翻訳して無償で配るかなぁ。。。