[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

Howto use rubyscript2exe to package some external application along with ruby

Nuralanur

2/12/2006 10:54:00 PM

Dear all,

I would like to distribute a Ruby application that calls
an external application.
So far, I give the potential user the opportunity
to enter or change some Gnuplot code, which is
sent to Gnuplot via Open3 and produces some plot.
Now, I would like to avoid asking the user to make
sure he has Gnuplot installed.

1.) How can I ensure that everything that I need from Gnuplot
is included in my application ? Is this done automatically
by rubyscript2exe ?
2.) Can the Open3 syntax be used even if Gnuplot is not
installed on the system the new distributed file is run on -
will some file from the package created by rubyscript2exe
(question 1) be substituted for the missing installation of Gnuplot ?

Thank you very much,

Best regards,

Axel


3 Answers

David Vallner

2/12/2006 11:04:00 PM

0

Dna Nedela 12 Február 2006 23:53 Nuralanur@aol.com napísal:
> Dear all,
>
> I would like to distribute a Ruby application that calls
> an external application.
> So far, I give the potential user the opportunity
> to enter or change some Gnuplot code, which is
> sent to Gnuplot via Open3 and produces some plot.
> Now, I would like to avoid asking the user to make
> sure he has Gnuplot installed.
>
> 1.) How can I ensure that everything that I need from Gnuplot
> is included in my application ? Is this done automatically
> by rubyscript2exe ?
> 2.) Can the Open3 syntax be used even if Gnuplot is not
> installed on the system the new distributed file is run on -
> will some file from the package created by rubyscript2exe
> (question 1) be substituted for the missing installation of Gnuplot ?
>
> Thank you very much,
>
> Best regards,
>
> Axel

I have very, very strong doubts rubyscript2exe will detect and pack external
applications. My wild guess is rubyscript2exe sort of dumps the state of the
interpreter at the end of the execution of your script, with all dependencies
loaded in memory.

Since Gnuplot is an external application not residing in the memory space of
the interpreter, you're probably stuck with making sure Gnuplot is installed.
You could also make an installer for your application and distribute Gnuplot
with it.

Disclaimer: I might be completely wrong.

David Vallner


Alex Fenton

2/13/2006 12:08:00 AM

0

Nuralanur@aol.com wrote:
> I would like to distribute a Ruby application that calls
> an external application.

> 1.) How can I ensure that everything that I need from Gnuplot
> is included in my application ? Is this done automatically
> by rubyscript2exe ?

No, it's not done automatically. You can tell rubyscript2exe to include an external executable in the package by setting the constant RUBYSCRIPT2EXE_BIN at "compile"
time

RUBYSCRIPT2EXE_BIN = [ 'myapp.exe' ]

When the "compiled" executable is run, PATH is altered so that the bundled executable will be available.

This works well for executables that are single self-contained files, as well as for
dlls (using RUBYSCRIPT2EXE_DLLS), but probably not so well for programs that expect lots of support files to be installed alongside.

hth
alex

Erik Veenstra

2/13/2006 8:52:00 AM

0

> I would like to distribute a Ruby application that calls an
> external application. So far, I give the potential user the
> opportunity to enter or change some Gnuplot code, which is
> sent to Gnuplot via Open3 and produces some plot. Now, I
> would like to avoid asking the user to make sure he has
> Gnuplot installed.
>
> 1.) How can I ensure that everything that I need from Gnuplot
> is included in my application ? Is this done automatically by
> rubyscript2exe ?

No, it's not.

But, according to the RubyScript2Exe documentation, you can do
this: Put everything you need (your application and other
applications) in one directory tree, build an RBA from this
directory with Tar2RubyScript [1] and "compile" this RBA with
RubyScript2Exe [2].

All steps, including the rationale of both projects, are
described in [3].

gegroet,
Erik V. - http://www.erikve...

[1] http://www.erikve...tar2rubyscript/index.html
[2] http://www.erikve...rubyscript2exe/index.html
[3] http://www.erikve...distributingrubyapplications/index.html