ruby-trunk-changes r32827 - r32845

拡張ライブラリ psych がプリインストールgemパッケージ(fakegem)として扱われるようになっています。また Linux で SEGV 時にハンドラ内で再度 SEGV する不具合に関する修正がありました。

akr:r32827 2011-08-03 21:18:50 +0900

Open3.popen3 の rdoc に追記。標準出力、標準エラー出力のパイプからの読み取りをちゃんと多重化とかマルチスレッドで処理とかしないとデッドロックする可能性があるよ、という一般的な注意を追記しています。

nahi:r32828 2011-08-04 00:38:44 +0900

r32824 の WEBrick へのオプションの記法が 1.9 からの JSON っぽい記法だったので周囲にあわせて :BindAddress => "localhost" な表記に変更。

svn:r32829 2011-08-04 00:38:49 +0900

version.h の日付更新。

naruse:r32830 2011-08-04 00:40:03 +0900

include/ruby/win32.h と win32/win32.c の関数やマクロの前にそれが GPL なコードかそうでないかをコメントとして付記しています。こんなふうに関数レベルで入り交じってるんですね。

tenderlove:r32831 2011-08-04 02:02:44 +0900

psych もプリインストールされた gem パッケージ(この界隈では fakegem というらしいです)として扱うように gemspec ファイルを追加。

nobu:r32832 2011-08-04 02:20:26 +0900

新規追加された psych の gemspec ファイルの svn property 変更。

nobu:r32833 2011-08-04 02:21:12 +0900

mkmf.rb が --enable-shared でビルドされた ruby の拡張ライブラリ用のコンパイルオプションで static link 版のライブラリをリンクしようとする不具合を修正。

mrkn:r32836 2011-08-04 02:49:22 +0900

Mac OS X Lion 向けの変更でデフォルトのコンパイラllvm-gcc になってしまったので gcc-4.2 を利用するようにしていましたが、gcc の指定を変更しても C++ 用のコンパイラの指定が変わらないので C++ で書かれた拡張ライブラリのコンパイル時に食い違ってしまうため、CC の設定に合わせて CXX も変更するようにしています(Lion の場合)。

tenderlove:r32837 2011-08-04 03:08:48 +0900

psych.gemspec の Authors の項目を修正。名前が first name と family name で配列になってしまっていた。

tenderlove:r32838 2011-08-04 03:08:57 +0900

tool/rbinstall.rb で fakegem のインストールのための gemspec の扱いを変更しているようです。よく違いがわかっていませんが、その場で defs/default_gems の情報からバージョン番号などを正規表現など使って抜き出して gemspec ファイルを生成していたのを Module に分離して、元々 gemspec ファイルがあればそれをそのまま使うようにしています。

naruse:r32839 2011-08-04 11:32:19 +0900

r32702 で Mac OS X では __syscall が存在するのに宣言されていないというので include/ruby/missing.h に宣言を追加していましたが、OpenBSD も同じだったようで条件に追加しています。

nobu:r32840 2011-08-04 11:54:22 +0900

r32839 の __syscall の宣言追加で複数形になったのでコメントの typo を修正。

nobu:r32841 2011-08-04 15:44:13 +0900

tool/rbinstall.rb で Gem::Specification が存在することを前提としたコードになっていますが、BASERUBY が 1.8 系のところでビルドしている場合は存在しないので、自前で定義しています。

nobu:r32842 2011-08-04 16:08:48 +0900

さらに lib や ext の下に *.gemspec ファイルを置いているライブラリは、defs/default_gems に記述しなくてもそこからかってに読みこんで fakegem としてインストールするように tool/rbinstall.rb を拡張しています。これにより標準添付ライブラリの fakegem 化は *.gemspec ファイルを置くだけで良くなります。

nobu:r32843 2011-08-04 16:09:58 +0900

psych.gemspec の files の項目に %w[] リテラル記法なのに余分なカンマが含まれていたのを除去。

kosaki:r32844 2011-08-04 20:23:16 +0900

report_bug() で [BUG] のメッセージ表示のためのバッファのサイズを BUFSIZ でスタックに確保していたのを 256 に小さくしています。report_bug() は SIGSEGV を受信した時にハンドラの sigsegv() から呼ばれる場合は代替スタックを利用していて、スタックサイズが小さいのでオーバフローしてしまう危険があったためです。 [ruby-dev:44315] [Bug #5139]

ngoto:r32845 2011-08-04 20:36:50 +0900

Solaris では共有ライブラリのリンクには ld ではなくて $CC (cc) を利用するらしくコマンドの定義を変更しています。