[#6954] Why isn't Perl highly orthogonal? — Terrence Brannon <brannon@...>

27 messages 2000/12/09

[#7022] Re: Ruby in the US — Kevin Smith <kevinbsmith@...>

> Is it possible for the US to develop corporate

36 messages 2000/12/11
[#7633] Re: Ruby in the US — Dave Thomas <Dave@...> 2000/12/19

tonys@myspleenklug.on.ca (tony summerfelt) writes:

[#7636] Re: Ruby in the US — "Joseph McDonald" <joe@...> 2000/12/19

[#7704] Re: Ruby in the US — Jilani Khaldi <jilanik@...> 2000/12/19

> > first candidates would be mysql and postgressql because source is

[#7705] Code sample for improvement — Stephen White <steve@...> 2000/12/19

During an idle chat with someone on IRC, they presented some fairly

[#7750] Re: Code sample for improvement — "Guy N. Hurst" <gnhurst@...> 2000/12/20

Stephen White wrote:

[#7751] Re: Code sample for improvement — David Alan Black <dblack@...> 2000/12/20

Hello --

[#7755] Re: Code sample for improvement — "Guy N. Hurst" <gnhurst@...> 2000/12/20

David Alan Black wrote:

[#7758] Re: Code sample for improvement — Stephen White <steve@...> 2000/12/20

On Wed, 20 Dec 2000, Guy N. Hurst wrote:

[#7759] Next amusing problem: talking integers (was Re: Code sample for improvement) — David Alan Black <dblack@...> 2000/12/20

On Wed, 20 Dec 2000, Stephen White wrote:

[#7212] New User Survey: we need your opinions — Dave Thomas <Dave@...>

16 messages 2000/12/14

[#7330] A Java Developer's Wish List for Ruby — "Richard A.Schulman" <RichardASchulman@...>

I see Ruby as having a very bright future as a language to

22 messages 2000/12/15

[#7354] Ruby performance question — Eric Crampton <EricCrampton@...>

I'm parsing simple text lines which look like this:

21 messages 2000/12/15
[#7361] Re: Ruby performance question — Dave Thomas <Dave@...> 2000/12/15

Eric Crampton <EricCrampton@worldnet.att.net> writes:

[#7367] Re: Ruby performance question — David Alan Black <dblack@...> 2000/12/16

On Sat, 16 Dec 2000, Dave Thomas wrote:

[#7371] Re: Ruby performance question — "Joseph McDonald" <joe@...> 2000/12/16

[#7366] GUIs for Rubies — "Conrad Schneiker" <schneik@...>

Thought I'd switch the subject line to the subject at hand.

22 messages 2000/12/16

[#7416] Re: Ruby IDE (again) — Kevin Smith <kevins14@...>

>> >> I would contribute to this project, if it

17 messages 2000/12/16
[#7422] Re: Ruby IDE (again) — Holden Glova <dsafari@...> 2000/12/16

-----BEGIN PGP SIGNED MESSAGE-----

[#7582] New to Ruby — takaoueda@...

I have just started learning Ruby with the book of Thomas and Hunt. The

24 messages 2000/12/18

[#7604] Any corrections for Programming Ruby — Dave Thomas <Dave@...>

12 messages 2000/12/18

[#7737] strange border-case Numeric errors — "Brian F. Feldman" <green@...>

I haven't had a good enough chance to familiarize myself with the code in

19 messages 2000/12/20

[#7801] Is Ruby part of any standard GNU Linux distributions? — "Pete McBreen, McBreen.Consulting" <mcbreenp@...>

Anybody know what it would take to get Ruby into the standard GNU Linux

15 messages 2000/12/20

[#7938] Re: defined? problem? — Kevin Smith <sent@...>

matz@zetabits.com (Yukihiro Matsumoto) wrote:

26 messages 2000/12/22
[#7943] Re: defined? problem? — Dave Thomas <Dave@...> 2000/12/22

Kevin Smith <sent@qualitycode.com> writes:

[#7950] Re: defined? problem? — Stephen White <steve@...> 2000/12/22

On Fri, 22 Dec 2000, Dave Thomas wrote:

[#7951] Re: defined? problem? — David Alan Black <dblack@...> 2000/12/22

On Fri, 22 Dec 2000, Stephen White wrote:

[#7954] Re: defined? problem? — Dave Thomas <Dave@...> 2000/12/22

David Alan Black <dblack@candle.superlink.net> writes:

[#7975] Re: defined? problem? — David Alan Black <dblack@...> 2000/12/22

Hello --

[#7971] Hash access method — Ted Meng <ted_meng@...>

Hi,

20 messages 2000/12/22

[#8030] Re: Basic hash question — ts <decoux@...>

>>>>> "B" == Ben Tilly <ben_tilly@hotmail.com> writes:

15 messages 2000/12/24
[#8033] Re: Basic hash question — "David A. Black" <dblack@...> 2000/12/24

On Sun, 24 Dec 2000, ts wrote:

[#8178] Inexplicable core dump — "Nathaniel Talbott" <ntalbott@...>

I have some code that looks like this:

12 messages 2000/12/28

[#8196] My first impression of Ruby. Lack of overloading? (long) — jmichel@... (Jean Michel)

Hello,

23 messages 2000/12/28

[#8198] Re: Ruby cron scheduler for NT available — "Conrad Schneiker" <schneik@...>

John Small wrote:

14 messages 2000/12/28

[#8287] Re: speedup of anagram finder — "SHULTZ,BARRY (HP-Israel,ex1)" <barry_shultz@...>

> -----Original Message-----

12 messages 2000/12/29

[ruby-talk:8273] RAA-ANN: rbwrap 0.1.0

From: Robert Feldt <feldt@...>
Date: 2000-12-29 17:05:58 UTC
List: ruby-talk #8273
Hi,

I didn't have time to wrap this up (;-)) as a christmas present but here
it is as an early new years-ditto:

rbwrap - Creating stand-alone executables from Ruby programs

It's pre-alpha and only works on windows NT/2k + cygwin-enabled machines
but it shouldn't be to hairy to extend to other platforms.

It's inspired by previous discussion on ruby-talk and by the
wrapping/freezing utilities of python and tcl.

You can find the readme below.

Best regards and a happy new year to you all,

Robert

	=============================================================
	= rbwrap - Wrapping Ruby programs into stand-alone binaries =
	=        version 0.1.0 (This is a pre-alpha release)        =
	=============================================================

Release date: 2000-12-29
Available from: http://www.ce.chalmers.se/~feldt/ruby/applications/rbwrap
Author: Robert Feldt, feldt@ce.chalmers.se

What is it?
-----------
Application for creating stand-alone executables from Ruby 
programs and scripts. Analyzes a Ruby program to find it's dependencies
(the Ruby scripts and extensions it needs to run) and wraps them up
together with the program and the ruby binaries to create a stand-alone 
executable. The executable can be run on (similarly configured) computers
without you having to install Ruby (or cygwin).

Currently ONLY WORKS ON WINDOWS NT/2000 COMPUTERS WITH CYGWIN.

Installation?
-------------
1. unpack tarball (if you haven't already)
2. copy rbwrap.rb and memunwrapper.c to were you want to wrap exe's

I'll fix some installation procedure ASAP but hey this is pre-alpha!

Example of use?
---------------
$ rbwrap -q my_script.rb
Created executable my_script.exe

Requirements?
-------------
Windows NT or 2000, Cygwin 1.1.x with gcc compiler, and Ruby 1.6.x.

I've successfully used rbwrap with Cygwin 1.1.6 and Ruby 1.6.2
(2000-12-XX)
(gcc version 2.95.2-5 19991024) on Windows 2000 Professional 
Workstation and Windows NT 4.0 Workstation. I'm unsure whether it works on
other platform.

NOTE THAT THIS IS AN ALPHA RELEASE SO THERE WILL LIKELY BE BUGS.

Documentation?
--------------
Only the one you get from running rbwrap --help.

License and legal issues?
-------------------------
All files in this package

Copyright (c) 2000, 2001 Robert Feldt, feldt@ce.chalmers.se.
All rights reserved.

and they are distributed under GPL. See LICENSE.TXT.

If this is too strict then please mail me.

Special things to note?
-----------------------
rbwrap will likely fail to find dependencies if you dynamically decide
what
modules to require/load into your program. However, you can explicitly 
specify files that rbwrap didn't find. Just list them after your program
on the command line.

Plans for the future?
---------------------
See TODO. This is an alpha release so there might be (some) changes 
to the interface.

Why are the executable so large?
--------------------------------
Because we need to include a full Ruby interpreter and any dll's it needs
to run. On a windows computer with Cygwin the files cygwin1.dll, 
cygwin-ruby16.dll and ruby.exe are all included for a total of 
more than 1 MB!

Can I reduce the size of the executable?
----------------------------------------
Yes, rbwrap supports packing the executable with UPX but you can also use
other similar tools.

You can also strip the ruby.exe file since it contains debug info.

If you know that you already have cygwin and/or ruby on the target
machines
you can exclude them from the executable with (some of the flags):
	--no-cygwin
		Exclude cygwin1.dll
	--no-ruby
		Exclude all ruby binaries

If your program does not use any extension (ie. *ONLY* .rb files) you can
use the ruby.exe from eban's msdosdjgpp Ruby tarball. Look in RAA!

Why does it only work on Windows with cygwin?
---------------------------------------------
Because its the platform I use and I needed this program!

However, it shouldn't be too difficult to make it work on your platform.
Here's what you need to do (I might have missed something...):

	* Make sure find_ruby_binaries identifies all ruby binaries needed
	  to run Ruby as a stand-alone app on your platform. Current impl.
	  is very Cygwin-specific (and ugly!). I plan to replace it as
soon
	  as possible. Any ideas you might have are welcomed.

	* Make sure compiler can be accessed. I currently do
		system "gcc ..."

	* Make memunwrapper.c compilable, linkable and runnable.

	    Check file separators. Currently assumes its "\".

	    It currently uses some Windows- or Cygwin-specific API calls. 
	    Nothing fancy and it's straightforward to find corresponding 
	    calls on your platform:
		GetModuleFileNameA - to get the name of the unwrapper exe
			This is unnecessary and I plan to take it from
argv
			instead.
		GetTempPath - Get path to temp dir

Why does it take so long time to run rbwrap?
--------------------------------------------
rbwrap will evaluate your main script to be able to find its dependencies.
If your script takes a long time to evaluate then rbwrap will take a long
time...

Do you have comments or questions?
----------------------------------
I'd appreciate if you drop me a note if you're successfully using 
rbwrap. If there are some known users I'll be more motivated to 
packing up additions / new versions and post them to RAA.

Happy coding!

Robert Feldt, feldt@ce.chalmers.se


In This Thread

Prev Next