『るつぼ』は小さなRubyソフトウェアを生み出します。
xzユーティリティに含まれるliblzmaのRubyバインディングです。
gemパッケージになっており、『gem install liblzma-0.2.gem』でビルド、インストールが完了します。
MinGW32およびFreeBSD 9.0R i386で動作確認を行っています。
MinGW32向けにはバイナリパッケージも用意してあります (もしかしたらruby-mswin32でも動作するかもしれません)。
FreeBSD 9.0R i386 上では標準コンパイラであるGCCのほかにllvm clangでもビルド可能なことを確認してあります。
* ライブラリ名をlzmaからliblzmaに変更
(rubygems.orgに同名パッケージがあったため)
* GCC拡張のトランポリンを置換え (llvm clangでビルド可能)
* LZMA::Stream#update、LZMA::Utils.crc32/crc64において、別のスレッドがバッ
ファを操作できないようにコピーしていたが、これを rb_str_locktmp に置き換えた
* LZMA::Utils.crc32/crc64 の処理 (lzma_crc32/64) を常にGVLの外で行うようにした
* Digest::XXX のように振舞う LZMA::Utils::CRC32/CRC64 クラスを導入
(すべての機能を揃えているわけではない)
* そのほか細かな変更・修正