[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[ANN] New "Ruby for Windows" Installer

Lothar Scholz

3/6/2007 4:07:00 AM

Hello,

this is the first release of an alternative "One Click Ruby Installer" for windows.

There are three reasons for me to provide this installer:

1) I'm not really satisfied with the current "One click installer". I don't share
their opinion what is a required in a ruby base environment. I also don't
think that huge packages that are extremely easy to install as a gem should
be added to the installer. Instead more important packages like MySQL and SQLite
extensions or the ones which are difficult to integrate should be included.

2) My Arachno Ruby IDE needs a patched interpreter for the debugger
and this is the easiest way to handle it. In the past i was always
a few steps behind the one click installer. Having a separate project
means much more flexibility for me, even if i have to update a few
components of the installer regularly.

3) Competition is good.


The included packages are:
Ruby 1.8.5-p12
GDBM 1.8.3-1
OpenSSL 0.9.8e
PDCurses 2.8
IConv 1.9.2-1
readline 4.3-2
rake 0.7.2
log4r 1.0.5
zlib 1.2.3
ruby-zlib 0.6.0
Expat 2.0.0
XMLParser 0.6.8
RubyGems 0.9.2
SWin 2006-02-05
VRuby 2006-11-02
HTMLParser 19990912p2
RubyDBI 0.1.1
DBD/ODBC 0.997
SQLite 2 3.3.13
SQLite 3 2.8.17
Ruby-SQLite 2.2.3
Ruby-SQLite3 1.2.1
MySQL/Ruby 2.7.3
OpenGL 0.32g
FreeGLUT 2.4.0
Ruby GTK2 0.16.0-1
GTK2 2.10.7
IConv 1.9.2-1
SciTE 1.67
win32-event 0.4.0
win32-ipc 0.4.1
win32-changenotify 0.4.2
win32-clipboard 0.4.2
win32-dir 0.3.1
win32-etc 0.2.5
win32-event 0.4.0
win32-eventlog 0.4.3
win32-file-stat 1.2.4
win32-mmap 0.2.0
win32-mutex 0.2.2
win32-open3 0.2.5
win32-pipe 0.1.2
win32-process 0.5.2
win32-sapi 0.1.3
win32-semaphore 0.2.2
win32-service 0.5.2
win32-shortcut 0.2.0
win32-sound 0.4.0
win32-taskscheduler 0.0.3
win32-thread 0.0.1
windows-pr 0.6.4

Everything is compiled with MSVC 6.0, so it is compatible with the one
click installer and all the "msvcrt" binary gems.

As you see the most important difference is that i integrated MySQL, SQLite and
Ruby/GTK. For GTK, i had to add one more patch to the "main" function in the
ruby executable. Ruby will set the environment variable GTK_BASE and add the gtk
binary directory in front of the path, so that GTK applications are now
completely standalone. No environment variable setup is required anymore if you
want to distribute one of your own GTK application.

I want to add the Postgresql DBI extension and the FLTK GUI toolkit in one of
the next versions. Also next on the todo list is a setup of an automatic test
system, currently i only checked most of the extensions by manually
running a few examples.

Download is here:
http://www.ru.../downloads/ruby/installer/SetupRubyWin32-1.8.5-ms...

MD5 Checksum: F54DB55FA90D9A371DA52B7A30876206


I would really like to here your opinions.

--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ru...
CTO Scriptolutions Ruby, PHP, Python IDE 's



15 Answers

Chris Shea

3/6/2007 4:53:00 AM

0

On Mar 5, 9:06 pm, Lothar Scholz <mailingli...@scriptolutions.com>
wrote:
> Hello,
>
> this is the first release of an alternative "One Click Ruby Installer" for windows.

Count me as super-intrigued. I will definitely try this out the next
time I set up Ruby on a Windows box. Hopefully, now, it'll be soon.

Chris

Joel VanderWerf

3/6/2007 5:26:00 AM

0

Lothar Scholz wrote:
...
> 2) My Arachno Ruby IDE needs a patched interpreter for the debugger
> and this is the easiest way to handle it. In the past i was always
> a few steps behind the one click installer. Having a separate project
> means much more flexibility for me, even if i have to update a few
> components of the installer regularly.

Can you briefly describe the effects of these patches?

Thanks!

--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

Lothar Scholz

3/6/2007 5:57:00 AM

0

Hello Joel,

JV> Lothar Scholz wrote:
JV> ...
>> 2) My Arachno Ruby IDE needs a patched interpreter for the debugger
>> and this is the easiest way to handle it. In the past i was always
>> a few steps behind the one click installer. Having a separate project
>> means much more flexibility for me, even if i have to update a few
>> components of the installer regularly.

JV> Can you briefly describe the effects of these patches?

There are calls to a function pointer (which can be
installed from a debugging extension) at some points. At the moment
they are used whenever a thread is created/deleted/switched and a ruby
object is allocated or freed. It also possible that the debugging extension
can store a pointer in the thread structure (which is only used
privately in eval.c) and one in the ruby source file name structure,
which is just a pointer before the malloced memory block in
("rb_source_filename" in file gc.c).

And well theres also one bugfix i planed to report to the Ruby core list
for quite some time. In windows -1 and (-2 in MSVC 8) are special FILE
pointers in console applications that don't have a console (ms hack) so
"rb_io_isatty(io)" has a bug and needs to be fixed.

static VALUE
rb_io_isatty(io)
VALUE io;
{
OpenFile *fptr;
GetOpenFile(io, fptr);
if (fileno(fptr->f) == -1) return Qfalse; /* THIS MUST BE ADDED */
if (isatty(fileno(fptr->f)) == 0) {
return Qfalse;
}
return Qtrue;
}


--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ru...
CTO Scriptolutions Ruby, PHP, Python IDE 's



Robert H

3/6/2007 1:20:00 PM

0

Why the GTK stuff and not wxRuby? I have been out of the loop for a
bit but I though wxRuby was going to be "the" toolkit?

Shouldn't these be reversed version wise:

SQLite 2 3.3.13
SQLite 3 2.8.17

Daniel Berger

3/6/2007 4:21:00 PM

0

On Mar 5, 10:56 pm, Lothar Scholz <mailingli...@scriptolutions.com>
wrote:

<snip>

> And well theres also one bugfix i planed to report to the Ruby core list
> for quite some time. In windows -1 and (-2 in MSVC 8) are special FILE
> pointers in console applications that don't have a console (ms hack) so
> "rb_io_isatty(io)" has a bug and needs to be fixed.
>
> static VALUE
> rb_io_isatty(io)
> VALUE io;
> {
> OpenFile *fptr;
> GetOpenFile(io, fptr);
> if (fileno(fptr->f) == -1) return Qfalse; /* THIS MUST BE ADDED */
> if (isatty(fileno(fptr->f)) == 0) {
> return Qfalse;
> }
> return Qtrue;
>
> }

I wonder if using GetFileType() and checking for FILE_TYPE_CHAR would
be a better long term solution.

Regards,

Dan

Lothar Scholz

3/6/2007 4:23:00 PM

0

Hello Robert,

RH> Why the GTK stuff and not wxRuby? I have been out of the loop for a
RH> bit but I though wxRuby was going to be "the" toolkit?

I haven't seen a real wxruby application now and the website still
says "It's not quite suitable for production use yet" while Ruby GTK
is used a lot and stable.

Also WxRuby is a simple installable gem (only one so/dll file) while
GTK is much harder to install and to get all the DLL's. Also with GTK
you can have some trouble with the environment variables and the XML
parser if you install it just as described (xmlparse.dll + xmltok.dll
needs to be in the directory of ruby.exe and NOT in the gtk/bin
directory). It's not a problem, but for beginner it take a little time and
why shouldn't this be solved by the installer writer?

As i said my opinion is that easy installable gems should not belong
to core installer while everything that is a little bit more complicated
to setup (and used a lot) should.

RH> Shouldn't these be reversed version wise:

RH> SQLite 2 3.3.13
RH> SQLite 3 2.8.17

Yes, i will fix that.


--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ru...
CTO Scriptolutions Ruby, PHP, Python IDE 's



Dave Burt

3/7/2007 11:07:00 AM

0

Lothar Scholz wrote:
> SQLite 2 3.3.13
> SQLite 3 2.8.17
> Ruby-SQLite 2.2.3
> Ruby-SQLite3 1.2.1

Would you consider adding the SQLite DBMS itself (for one or both of the
versions)? It's not a large addition, and it would provide an
out-of-the-box SQL database within the package.

Why's DBMS-including SQLite gem prompted the idea.

Cheers,
Dave

Lothar Scholz

3/8/2007 7:08:00 AM

0

Hello Dave,

DB> Lothar Scholz wrote:
>> SQLite 2 3.3.13
>> SQLite 3 2.8.17
>> Ruby-SQLite 2.2.3
>> Ruby-SQLite3 1.2.1

DB> Would you consider adding the SQLite DBMS itself (for one or both of the
DB> versions)? It's not a large addition, and it would provide an
DB> out-of-the-box SQL database within the package.

They are both included. The extensions (.so files) are statically linked
against the two latest SQLite releases. Thats why you see the 4
entries in the list.

So the extensions are useable out of the box.


--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ru...
CTO Scriptolutions Ruby, PHP, Python IDE 's



Dave Burt

3/8/2007 8:35:00 AM

0

Hi Lothar,

LS> SQLite 2 3.3.13
LS> SQLite 3 2.8.17
LS> Ruby-SQLite 2.2.3
LS> Ruby-SQLite3 1.2.1

DB> Would you consider adding the SQLite DBMS itself (for one or both of the
DB> versions)? It's not a large addition, and it would provide an
DB> out-of-the-box SQL database within the package.

LS> They are both included. The extensions (.so files) are statically linked
LS> against the two latest SQLite releases. Thats why you see the 4
LS> entries in the list.
LS>
LS> So the extensions are useable out of the box.

That's a pretty quick implementation of my suggestion, Lothar; are you
utilising some kind of time-flow-altering technology there?

Cheers,
Dave

Wayne Vucenic

3/15/2007 8:23:00 PM

0

Hi Lothar,

I've missed seeing your posts on Ruby-Talk for the last 6 months or
so. Welcome back!

I'm just now setting up a new development system running Vista, and
I'll give your new installer a try.

Best regards,

Wayne

-----
Wayne Vucenic
No Bugs Software
Ruby, Erlang, and C# Agile Contract Programming in Silicon Valley
5+ years Ruby experience



On 3/5/07, Lothar Scholz <mailinglists@scriptolutions.com> wrote:
> Hello,
>
> this is the first release of an alternative "One Click Ruby Installer" for windows.
>