rubycocoa
だいぶ前から考えてた、RubyCocoaをふつーのgemにすることに挑戦してみた。アプリ用の.frameworkはまだ手を付けてないけど、拡張ライブラリのほうは`rake test`が全部通るとこまできた。 "[WIP] make rubycocoa to a gem by kimuraw · Pull Request #12" -現…
新しいmacOSのbetaでてたので試してみた。案の定いろいろ問題あったんだけど、それ以前に10.12で動いてないことにいまさら気付いた… librubyに静的リンクしたRubyCocoaの生成を可能に すっごい前にプルリクもらってたのをマージ。なんかいろいろな変更が混ざ…
以前に見つかっていたバグがよくわからないけど直った。ひさしぶりにぜんぶテストが通るようになったぜ。。 NSArrayController#arragendObjects#eachするとruby-2.xだけNSGenericExceptionが起きるのを修正(beca6d4) rubycocoa issue#2に書いたとおりなんだ…
10.11GM上で10.10と同じようにテスト通る(既知の1F)まで持ってきた。作業はビルドまわりとテストスクリプト側の修正でコアの方は手をいれてない。 10.11ではRubyCocoa.frameworkは@excecutable_pathなしをデフォルトに。 (ceb7962) 上述のDYLD_環境変数の件…
新しいOS Xのbetaが出たので検証中、っていうかSEGVしてテスト走らないじゃん。。だいたいこういうレベルでおかしいときは、コンパイル時に警告出てたりするものなので確認。 In file included from /Users/kimuraw/proj/rubycocoa/framework/src/objc/Overr…
半年ぶりくらいですね。。 github移行のもろもろ。 Xcodeのファイルテンプレートのplistが間違ってたのを訂正。(RubyCocoa / Bugs / #67 TemplateInfo.plist in File Templates not working) rbenvでインストールしたrubyを使っているときにrakeが失敗する問…
しました。 https://github.com/rubycocoa/rubycocoa https://rubycocoa.github.io インストーラは最新の1.2.0 (2014年7月)だけgithubにも置きました。それ以前のはSourceForgeからゲットしてください。import.github.com使って、そのまま持ってきたので昔の…
うん、すっかり忘れてた。Yosemite環境用のインストーラを用意しました。 https://sourceforge.net/projects/rubycocoa/files/RubyCocoa/1.2.0/ ruby-1.8はOS X 10.10には入っていないので、ruby-2.0用のもののみです。1.8で使いたい人は先日の1.8用の一式を…
ちょっとまだruby 2.0対応版に問題があるようなので、とりあえず用意しました。Yosemite GM3上で簡単に動作確認済みです。 https://www.dropbox.com/sh/nojy60iw9gl0j0r/AACqelR-WQzHdFU23qTb-cU3a?dl=0 配布物は次の2つです。 Ruby-1.8-for-RubyCocoa.pkg: …
しました。ついにRuby 2.0以降に対応しました!(1.9は対応しません) https://sourceforge.net/projects/rubycocoa/files/RubyCocoa/1.2.0/ ちょっとパッケージング失敗したので、日本時間で今日の14:30以前にダウンロードした人は取り直したほうがよいかも…
細かいとこではドキュメント更新したり、コンパイル時の警告つぶしたりしてた。大きい作業としては、Snow LeopardやLion環境では"trunkでrequire 'osx/cocoa'しただけで落ちる"という致命的な問題があってその対応をしていた。エラーメッセージはこんなの。 …
いちおRC出したのでそんなにいじるつもりはないので、yardのドキュメントをメンテしたり。便利メソッドとしてOSX::NSData.dataWithRubyString(str)というメソッドが昔からあるんだけど、使い道があんまりないなーと思った上に、そもそもエンコーディングなし…
しました。いきなりリリースしてもよかったんだけど、自分だけの確認では不安だったので。 https://sourceforge.net/projects/rubycocoa/files/RubyCocoa/1.2.0-rc/ 動作確認用なのでOS X 10.9用のみです。なにかあればお知らせください。ヤバそうな問題が報…
sample/以下にあるアプリの一覧をつくって、ひたすら確認して直してた。 もともとおかしかったぽい make系のプロジェクトで-framework AppKitが足りない。 import 足しておいた。 ruby-2.0によるもの ruby-2.0でSyntax Errorになるものを直した。 他のアプリ…
10.9 Mervericks用はruby-1.8とruby-2.0の両方がOSに付いてるので、それぞれ用のRubyCocoa.frameworkのインストーラをリリースする予定。なのでそのあたりの調整あれこれ。 リリースファイルの名前を自由に指定できるように。 (r2587) パッケージ作成時の設…
だいたいruby-2.x対応できたので、samples/以下にあるアプリを動かしたりして動作確認してる。で、どうもrubyのThreadを使ったコードがうまく動かなくって、スレッドが切り替わらなかったりするのを調べてたんだけれどようやくわかった。 Thread.passがひつ…
1週間以上前にテスト全部とおるようになったんだけど、実際にアプリ試してみるとダメなところあったりで対処中。今はstandaloneify.rbを対応してるとこ。 ruby-2.xで"$0 not initialized"を修正。(r2581) ruby-2.xでクラッシュするのを修正。(r2582) 簡単に…
先週の続き。 if/switchによる変換を、st_tableの変換表に。→実装した。 名前によるエンコーディング変換表の自動作成。→うまくいかなかった。 変換できないエンコーディング。→可能ならUTF-8に。 試しながら考えたや課題など。 st_tableによる変換表 Rubyの…
RubyCocoaに添付されてる便利スクリプト、standaloneify.rbで問題が起きたときの対処法。 standaloneify.rbとは 各種ライブラリ(.rb, .bundleなど)を.app内にパッケージして配布しやすくするツール。いつのころからかRubyCocoaに添付されてる。わりと裏技的…
Ruby 1.8と1.9以降のちがいについては、るびま25号の"Rubyist Magazine - Ruby M17N の設計と実装"に詳しい。すげー雑に書くと、 ruby-1.8: Stringはバイト列。文字列処理や正規表現のマッチは$KCODEで制御。 ruby-1.9: 個々のStringインスタンスが自分のエ…
だいたいこんな感じ。 ruby-2.1上のテストの失敗をつぶす。 Ruby StringとNSString間のエンコーディング変換(超暫定)。 OS X 10.5以前用のコードを削除。 APIドキュメントの更新。 開発用のinstall.rbやRakefileの整備。 テストの失敗は(狭義では?)RubyCoc…
OSX.objc_classnames()を追加。 (r2530) OSX.ns_import_all()を追加。require_framework時に呼ぶように。 (r2531) テストコードの一部にns_importを追加。 (r2532) ということで、やっとここまできたぜ。。 % ruby2.1 install.rb test : Finished in 2.60618…
ruby-1.8と2.1の非互換でテスト失敗するところの対応あれこれ。 Array#[range] = nil (r2525) ruby-1.8ではrangeの範囲の値削除だったけど、1.9以降ではその位置にnilが入る。doc/ChangeLog-1.9.3に array.c (rb_ary_update): a[n,m]=nil no longer works as…
ruby-2.x対応に向けて、2月にメモった課題を調べてる。今日はテスト流すと何ヶ所かで"ArgumentError: invalid value for Integer()"って例外がでて失敗するとこがあるのについて。エラーが出てるのはrb_Integer(str)で文字を整数値に変換しようとしていると…
次のOS Xのバージョンは10.10に決まりましたね。そうならないことを期待していたのに。。 OSのバージョン判定を修正。(r2520) ビルドスクリプトの中で、"バージョン文字列".to_f >= 10.8とかやってるとこがいっぱいあったので直した。ついでに10.5以前用の処…
こないだFoundation.bridgesupportにNSEnumeratorがないことがわかったので、実際どんなもんだろと確認してみた。 % ack --hh '^@interface' /System/Library/Frameworks/Foundation.framework/Headers | cut -f2 -d\ | cut -f1 -d\: | sed -e 's/(.*)//g' |…
やっぱイベントで内職ははかどる。。いや、話もちゃんと聞いてましたよ。ruby-2.0|2.1まわりの作業。未コミットの修正含めれば、ruby-2.0, 2.1でもテストはだいぶ通るようになってきた。 "ruby/st.h"の判定をHAVE_RUBY_RUBY_HからHAVE_RUBY_ST_Hに変更。 (r2…
@casualconcさんからmentionで教えてもらった。Xcode 5.0.2の環境で、ruby側で定義したクラスやアウトレットがInterface Builderで表示されないとのこと。ええとまあ、正直よく今まで動いてたなあ…って感じではあるのですが、内部的な仕組みとしてはこんなふ…
ruby-2.0対応の準備とか。 名前が未定義のときModule#nameがruby-2.0ではnilを、1.8では""を返すという差異によるエラーを修正。to_s入れただけ。(r2509) ruby-1.8.4以前用のコードを削除。(r2510, r2511) ruby-2.0でのエラーを修正。requireとeucなファイル…
しました。10.7用のdmgは、いるひとがいたら作るので言ってください。 https://sourceforge.net/projects/rubycocoa/files/RubyCocoa/1.1.0/ 今回の主な変更点は、 キャッシュの有効/無効を制御する$RUBYCOCOA_USE_OC2RBCACHEを導入。 standaloneify.rbが動…