RubyInstaller 2.0.0-p0 released

In combination with the rest of the RubyInstaller team, I’m very
pleased to announce the release of RubyInstaller packages for Ruby
2.0.0-p0

This new version of Ruby also brings new changes to RubyInstaller.

Starting with 2.0.0, the packages will be provided in two versions:
32bits (x86) and 64bits (x64).

This is possible thanks to newer compiler provided by mingw-w64 project.

Over the past months our Continous Integration worker has been compiling
and
running tests against GCC 4.7.2, ensuring this version satisfy the
compilation
requirements of Ruby.

This also means newer DevKit package is required to use with this
version.

As usual, installer and 7z packages are available at RubyInstaller
website and RubyForge for download:

http://rubyforge.org/frs/?group_id=167&release_id=47158

For verification, MD5 signatures of each file released are provided:

db47fc5837be2623d5f37dc3ef32ce4f *ruby-2.0.0-p0-doc-chm.7z
cc3d1262c3e80ddb72942966a5119dc4 *ruby-2.0.0-p0-i386-mingw32.7z
fd54283746ba0161aa06af6c2c886abf *ruby-2.0.0-p0-x64-mingw32.7z
ccdf7de8b77c29aea4254c409a40fe98 *rubyinstaller-2.0.0-p0.exe
5a6a605d3e38e2cb572dd418152a2fed *rubyinstaller-2.0.0-p0-x64.exe

Installer is also digitally signed to avoid alterations and UAC
warnings.

You can read Ruby’s own announcement here:

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/404900

= What’s new in Ruby, for Windows users?

Ruby’s announcement was generic in relation to all the new features
added to
the language.

However, it missed enhancements specific to our platform of choice.

  • Enhancements:
    • Faster startup due improved Windows-specific API. [Bug #6836]
    • Support ANSI-colors out of the box without the need of external
      tools
      or gems. [Feature #6418]
    • Fixes for native 64bits builds for Windows under MinGW

= What’s new in RubyInstaller?

Beyond what is covered by Ruby itself, we have our own set of
improvements:

  • Enhancements:

    • Upgraded Ruby 2.0.0 to patchlevel 0
    • Upgraded OpenSSL to version 1.0.0k
    • Upgraded rb-readline to 0.5.0.pre.1 (compatible with Ruby 2.0)
  • Bugfixes:

    • Generate documentation for target version of Ruby

= Important Notes

  • Ruby 2.0.0-p0 is brand new

While officially 2.0.0 is stable, that doesn’t mean all the software
will
magically work on it.

Use 2.0.0 for development and verify your application, scripts and tools
works
properly before deciding to run this in your production environment.

  • Existing pre-compiled gems are not Ruby 2.0 compatible

Ruby 2.0 introduces ABI breakage which means compiled C extensions with
previous
1.9.3 will work with Ruby 2.0.

DO NOT install Ruby 2.0 on top of existing Ruby 1.9.3, or try to use
compiled
extensions with it.

You will be required to force compilation of those gems:

gem install <name> --platform=ruby

This will require you have the extra dependencies required for that gem
to
compile. Look at the gem documentation for the requirements.

  • Do not use other DevKit version than the one recommended

This version of Ruby has been compiled and optimized for mingw-w64 GCC
4.7.2.

Use of older version of DevKit package to compile gems might result in
compilation issues during gem installation or simply segfaults.

Look for the DevKit installers identified with the name
‘DevKit-mingw64-32’ and
‘DevKit-mingw64-64’ for 32 and 64 bits respectively.

= Alternate download links

Sometimes RubyForge might have issues when trying to download the above
files.

Please try adding “/noredirect” to the file download URLs so skip the
entire
RubyForge’s mirror functionality.

If that still doesn’t work, try using RubyInstaller CDN directly by
using
above filenames combined with the archive folder:

http://cdn.rubyinstaller.org/archives/2.0.0-p0/<filename.ext>

Same applies to DevKit URLs:

http://cdn.rubyinstaller.org/archives/devkits/<filename.ext>

{…

  • Existing pre-compiled gems are not Ruby 2.0 compatible

Ruby 2.0 introduces ABI breakage which means compiled C extensions with
previous 1.9.3 will work with Ruby 2.0.

DO NOT install Ruby 2.0 on top of existing Ruby 1.9.3, or try to use
compiled
extensions with it. …}

Hi Luis
Congratulations for the long-awaited Ruby 2.0 p0 exe
may i just ask
when i read ‘…gems will not work’ and next sentence
compiled C extensions ‘*1.9.3 will work’
*
is the word ‘not’ missing in the latter sentence?

best regards
Tim0

On Sun, Feb 24, 2013 at 7:05 PM, Tim0 [email protected] wrote:

extensions with it. …}

Yes, that is a typo, but I think last sentence make it clear:

DO NOT install Ruby 2.0.0 on top of existing Ruby 1.9.3 or try to use
compiled extensions with it.

it will be great if 2.0 is quicker i read this link at rubydev
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/46547
that has the Ubuntu language shootout test page
http://benchmarksgame.alioth.debian.org/u32/performance.php?test=binarytrees
a binary trees test Ruby 1.9.3 compared with C and others
our 1.9.3 is slow using twice the memory albeit half as much code
in C it takes 12 seconds and in Ruby 214 seconds
on the other hand Ruby is quick the test in LUA takes 7 minutes _ yawn

Tim0

thanks i read the intro link
Matz 's module refinements looks great
nested Ruby methods with refinements on the outer method

On Sun, Feb 24, 2013 at 6:58 PM, Richard C. [email protected]
wrote:

Awesome! Great work! Though I am already having issues with the 64 bit
version and sqlite3.

sqlite3 gem?

As indicated in the “Important Notes”, existing pre-compiled gems will
not work with Ruby 2.0 as the gems do not contain pre-compiled
extension for it.

You need to force compilation, which requires you install development
headers and libraries that are dependencies of the gem/extension
you’re trying to compile.

So: to compile sqlite3 for Ruby 2.0, you need:

  • sqlite3 headers and libraries compiled and available
  • force installation of sqlite3 to use “ruby” platform (as indicated
    in the notes) and provide the directory where it will find sqlite3
    headers and libraries.

For sqlite3 will be something like

gem install sqlite3 --platform=ruby –
–with-sqlite3-include=C:/path/to/sqlite3/include
–with-sqlite3-lib=C:/path/to/sqlite3/lib

See the documentation of each gem about that.

Am Mon, 25 Feb 2013 06:28:08 +0900
schrieb Luis L. [email protected]:

  • Support ANSI-colors out of the box without the need of external
    tools or gems. [Feature #6418]

Is there an example of how to use this somewhere?

Vale,
Marvin