Hi guys, It has been a long time since I did a status report here, but I have been busy :) Here is a status about what happened since 0.5 beta 2 until we started working on 0.6. I think 0.5 is good enough to be released as final now. I will prepare the release and hopefully it will go out later today. Highlights: - HotCocoa support is back! Also, HotCocoa is no longer developed in the MacRuby repository but on GitHub: http://github.com/richkilmer/hotcocoa . We hope that by being on GitHub, HotCocoa will evolve faster. Be sure to do a 'macrake install hotcocoa'. - AOT compiler is more stable, supports compilation of multiple Ruby files into shared/dynamic libraries. It is also documented in a man- page, be sure to check it out for a detailed list of options and some use case examples. - GCD API is complete, frozen and fully documented. Stay tuned for GCD tutorials on the website. - Better runtime symbolication (backtraces) by emitting DWARF annotations. - Numerous miscellaneous bug fixes! Changes: - macrubyc: better CPU architecture check - ruby catch/throw statements now use specialized C++ exceptions instead of setjmp/longjmp - macrubyc: make sure compilation works if paths contain spaces - macrubyc: no longer use llvm-config for C++ compilation flags but rbconfig - fixed Module#method_defined? - rake build: ignore RUBYOPT - templates: updated rb_main.rb to honor .rbo files - GCD: ignore exceptions raised inside GCD blocks - do not cache blocks for functions - openssl extention: misc fixes - #throw must clear the current VM exception before unwinding the stack - GCD: fixed a few race conditions - define the GC and ObjectSpace API as module functions - start tagging non-RObject classes to not use ivar slots - added Module#__properties__ to return the list of Objective-C properties - never overwrite -[NSObject hash] - when registering a method as a BS informal protocol, pad the signature with @ in case the ruby arity is greater than the objc one - property handle missing 64-bit bridgesupport annotations in informal protocols for pointer types - fixed a bug when inserting an object into a KVO array - str.split('') should split into characters - honor nil backtraces when printing an uncaught exception - misc KVC bug fixes - templates: switched from .nib to .xib - GCD: block shared/dynamic variables are now copied - GCD: Queue#dispatch and Group#dispatch are gone. Replacements: Queue#async(group=nil) and Queue#sync - macrubyc: don't forgot to initialize load path and program name - GCD: aliased Queue#to_s to Queue#label - emit DWARF metadata at compilation time and use it to establish backtracing later at runtime - fixed Time marshalling - GCD: don't try to release a NULL semaphore - fixed a whole lot of crashes on 32-bit - macrubyc: added support for AOT compiled source code objects in #require - macrubyc: added manpage - GCD: when finalizing a dispatch semaphore, re-equilibrate before release to avoid a crash - fixed #method_missing and #respond_to? for NSProxy-based objects - fixed some class variables bugs - when changing the visibility of a method and duplicating its entry in the lookup table, be sure to keep the same flags too - added Pointer out-of-bounds access check - optimized #to_path conversion - fixed Fixnum#odd? and Fixnum#even? - fixed a thread-safety bug in RoxorCore::retype_method() - #extend_object: honor nested modules - added some basic support for multibyte regexps - FFI::Library#attach_function: the first argument can also be a symbol - macrubyc: generate better tmpfiles to allow multiple compilations of the same project - GCD: added rdoc documentation for all APIs - fixed a bunch of super-dispatch bugs - added preliminary (not complete) support for objc methods aliasing - fixed a bug when accessing regexp match special variables - fixed a bug in String#dump in case the receiver is a bytestring - fixed a bug in the #send method inliner where protected methods would not be callable - removed HotCocoa from the repository. It is now living on github as a separate gem. - implemented Thread.kill and Thread.exit - rb_str_dup(): in case the receiver is not a pure CF string, send - mutableCopy - Thread.list: do not return the internal thread list but a copy instead - don't use #delete to remove a thread from the internal list since it might trigger custom methods which might acquire the core lock and therefore cause a deadlock - implemented #[] and #[]= as shortcuts for objectForKey: and setObject:forKey: - GCD: added sources API - do not uncache a block if the context (self) is different - templates: do not load rb_main.rb twice Laurent
On Jan 31, 2010, at 2:35 PM, Laurent Sansonetti wrote:
- HotCocoa support is back! Also, HotCocoa is no longer developed in the MacRuby repository but on GitHub:http://github.com/richkilmer/ hotcocoa. We hope that by being on GitHub, HotCocoa will evolve faster. Be sure to do a 'macrake install hotcocoa'.
And I obviously meant: macgem install hotcocoa :-) Laurent
Hi How do I deploy an app that uses a gem? Do you have to copy the all thing ? or is there a command in mac ruby to do that? Thanks Emmanuel
Hi, On Jan 31, 2010, at 3:02 PM, Manu wrote:
Hi
How do I deploy an app that uses a gem? Do you have to copy the all thing ? or is there a command in mac ruby to do that?
http://lists.macosforge.org/pipermail/macruby-devel/2010-January/004050.html Laurent
On Sun, Jan 31, 2010 at 11:50 PM, Laurent Sansonetti <lsansonetti@apple.com>wrote:
On Jan 31, 2010, at 2:35 PM, Laurent Sansonetti wrote:
- HotCocoa support is back! Also, HotCocoa is no longer developed in the
MacRuby repository but on GitHub:http://github.com/richkilmer/hotcocoa. We hope that by being on GitHub, HotCocoa will evolve faster. Be sure to do a 'macrake install hotcocoa'.
And I obviously meant: macgem install hotcocoa :-)
Laurent
I can't install hotcocoa, Hans-Georg hg$ macruby -ve "p MACRUBY_REVISION" MacRuby version 0.6 (ruby 1.9.0) [universal-darwin10.0, x86_64] "svn revision 3385 from http://svn.macosforge.org/repository/ruby/MacRuby/trunk" hg$ macgem -v 1.3.5 hg$ macgem install hotcocoa ERROR: While executing gem ... (TypeError) incompatible marshal file format (can't be read) format version 4.8 required; 31.139 given incompatible marshal file format (can't be read) format version 4.8 required; 31.139 given (TypeError)
Hans, you seem to be on version 0.6 (trunk), please open a ticket against 0.6 as this is not a problem in 0.5 and therefore should not delay the release: $ macruby -ve "p MACRUBY_REVISION" MacRuby version 0.5 (ruby 1.9.0) [universal-darwin10.0, x86_64] "svn revision 3380 from http://svn.macosforge.org/repository/ruby/MacRuby/branches/0.5" $ sudo macgem install hotcocoa Password: Successfully installed hotcocoa-0.5.1 1 gem installed Thanks, - Matt On Sun, Jan 31, 2010 at 6:01 PM, Hans-Georg Höhne <hghoehne@googlemail.com>wrote:
On Sun, Jan 31, 2010 at 11:50 PM, Laurent Sansonetti < lsansonetti@apple.com> wrote:
On Jan 31, 2010, at 2:35 PM, Laurent Sansonetti wrote:
- HotCocoa support is back! Also, HotCocoa is no longer developed in the
MacRuby repository but on GitHub:http://github.com/richkilmer/hotcocoa. We hope that by being on GitHub, HotCocoa will evolve faster. Be sure to do a 'macrake install hotcocoa'.
And I obviously meant: macgem install hotcocoa :-)
Laurent
I can't install hotcocoa, Hans-Georg
hg$ macruby -ve "p MACRUBY_REVISION" MacRuby version 0.6 (ruby 1.9.0) [universal-darwin10.0, x86_64] "svn revision 3385 from http://svn.macosforge.org/repository/ruby/MacRuby/trunk" hg$ macgem -v 1.3.5 hg$ macgem install hotcocoa ERROR: While executing gem ... (TypeError) incompatible marshal file format (can't be read) format version 4.8 required; 31.139 given incompatible marshal file format (can't be read) format version 4.8 required; 31.139 given (TypeError)
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
Very nice, well done. Thanks for the whole project, by the way… I'm loving it. :) Cheers from Germany, Carlo -- Carlo Zottmann Munich, Germany. -- http://carlo.zottmann.org TwerpScan -- Anti-Fool Twitter Contact Management Tool. http://twerpscan.com/
Huge congratulations Laurent all all the team! YOU ROCK!! Please please PLEASE keep the good work and the lightning pace of development :) Ruben On Feb 1, 2010, at 8:19 AM, Carlo Zottmann wrote:
Very nice, well done. Thanks for the whole project, by the way… I'm loving it. :)
Cheers from Germany, Carlo
-- Carlo Zottmann Munich, Germany. -- http://carlo.zottmann.org
TwerpScan -- Anti-Fool Twitter Contact Management Tool. http://twerpscan.com/ _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
participants (6)
-
Carlo Zottmann
-
Hans-Georg Höhne
-
Laurent Sansonetti
-
Manu
-
Matt Aimonetti
-
Ruben Fonseca