週刊 mosh: 0.2.6 / homebrewに収録

0.2.6ほぼリリースです( http://code.google.com/p/mosh-scheme/downloads/list )。

... ほぼ なのは、Google code側を更新できないので。。
今回のリリースからMac OS Xのhomebrew( https://github.com/mxcl/homebrew )に収録されています。OS Xかつhomebrewのユーザはbrew install moshですぐインストールできるという寸法。*1
今回のリリースは、moshをより強固(robust)にすることを主眼に置いているので主立った機能の追加は無いです。が、従来は事実上Linuxにしか対応していなかったmoshWindowsFreeBSDでもちゃんと動作するようになったのが絶妙に重要なポイントです。。コンパクトで依存関係の少いScheme実装で、かつ、VisualStudioビルドでもちゃんと動くのはmoshだけ!(Luaでいいじゃんとかそういうのは除くとして)
毎回の注意点ですがアップデート時はpsyntax-moshのキャッシュ(~/.mosh)を消してください

0.2.6

重要な変更点は :

  • ビルドにonigurumaの別途インストールが必要になった
  • Visual StudioのビルドにCMakeが必須になった

今まで、moshはonigurumaを同梱していました。0.2.6からはシステムにインストールされたonigurumaを使います。Cygwinにはパッケージが無いので手動インストールが必要です。。
従来はVisual Studio向けのソリューションファイルを同梱していましたが、将来のLLVM統合や他のアプリケーションに対する組込みを容易にするためにCMakeに移行しました。あと、MSYS無しでビルドできるというメリットも。
CMakeでのビルドはMPIRやonigurumaのパスを指定する必要が有る点を除いて普通のCMakeプロジェクトと一緒です。
改良点 :

  • 多くの64bit環境でビルドできるようになった。(FreeBSD/MacOS X/Windows)
  • 多くのバグ修正

0.2.6は64bit環境を全面的にサポートする最初のリリースです。Windows以外では64bitビルドを推奨。
Windowsの64bitサポートはまだFFIをサポートしていません。

反省点

今回はリリースブランチを切って、ドキュメント更新をリリースブランチ、バグ修正を開発ブランチに分けてみました。結果的には単にわかりづらいだけだったので、次にリリース担当するときは単にmasterを切り出すだけにすると思います。
今回初めて、リリース前チェックアーキテクチャを明確にして各種チェックをやりました。0.2.5は、一旦作ったtarballが"makeはできるけどmake installできない"というすごいオチが有ったため。。
ただ、moshはポータブルな分チェックすべきアーキテクチャも多く、次回からは省力化したいところ。。

前回はnmoshの追加という大きなトピックが有ったんですが、今回は単にビルドの安定化という非常に地味な改善に留まったのも微妙な点。。まぁ、"正常に動作する"というのも非常に重要なポイントなので。

通常版とport版

0.2.6には通常版(mosh-0.2.6.tar.gz)とport版(mosh-0.2.6p.tar.gz)の2種類が有ります。
違いは、"make install時にpsyntax-moshがキャッシュをインストールするか否か"だけで、機能的な差は有りません。
インストール時に$HOMEディレクトリに書き込みを行うのは大抵のOSパッケージングシステムで禁じられているので別途port版を準備しています。(例えばhomebrewはport版を使います)

*1:R6RS Schemeインタプリタとしては一番のり?(schemeとしては他にRacket(PLT scheme)とgambit、guileが有る)