diff -ur rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/CHANGELOG rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/CHANGELOG
--- rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/CHANGELOG 2006-06-28 17:17:28.000000000 +0200
+++ rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/CHANGELOG 2006-07-29 20:27:05.000000000 +0200
@@ -1,5 +1,25 @@
----------------------------------------------------------------
+0.5.0 - 29.07.2006
+
+* Added support for directories.
+
+* Introduced require "rubyscript2exe.rb".
+
+* Added a check for readability in EEE.
+
+* Replaced RUBYSCRIPT2EXE_* by RUBYSCRIPT.*= and
+ RUBYSCRIPT2EXE::* (see application.rb).
+
+* Added RUBYSCRIPT2EXE.appdir(item) and
+ RUBYSCRIPT2EXE.is_compil*?.
+
+* If you already used RubyScript2Exe before, please reread the
+ section "From Inside your Application", since it isn't 100%
+ backwards compatible.
+
+----------------------------------------------------------------
+
0.4.4 - 28.06.2006
* Fixed a bug concerning "ENV.delete(key)".
diff -ur rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/eee.pas rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/eee.pas
--- rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/eee.pas 2006-06-28 17:18:44.000000000 +0200
+++ rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/eee.pas 2006-07-29 20:28:12.000000000 +0200
@@ -812,6 +812,7 @@
infile : file of byte;
outfile : file of byte;
i : longint;
+ n : longint;
begin
@@ -837,9 +838,11 @@
for i := 1 to t.number do begin
{$I-}
- gzread(zfile, addr(h), sizeof(h)); if (ioresult <> 0) then error('Couldn''t read: "' + workfile + '"');
+ n := gzread(zfile, addr(h), sizeof(h)); if (ioresult <> 0) then error('Couldn''t read: "' + workfile + '"');
{$I+}
+ if (n <> sizeof(h)) then error('Couldn''t read: "' + workfile + '"');
+
klasse := h.klasse;
tekst2 := h.tekst;
diff -ur rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/init.rb rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/init.rb
--- rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/init.rb 2006-06-28 09:57:40.000000000 +0200
+++ rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/init.rb 2006-07-29 18:39:59.000000000 +0200
@@ -1,7 +1,12 @@
+$".delete "rubyscript2exe.rb"
+require "rubyscript2exe"
+
+if __FILE__ == $0
+
$: << File.dirname(File.expand_path(__FILE__))
required = $"
-required = required.reject{|a| File.dirname(a) == ALLINONERUBY_TEMPDIR} if defined?(ALLINONERUBY_TEMPDIR)
+required = required.reject{|a| File.dirname(a) == ALLINONERUBY::TEMPDIR} if defined?(ALLINONERUBY::TEMPDIR)
required = required.collect{|a| "-r '#{a}'"}
require "ev/oldandnewlocation"
@@ -9,7 +14,7 @@
require "ev/ftools"
require "rbconfig"
-exit if defined?(REQUIRE2LIB)
+exit if RUBYSCRIPT2EXE.is_compiling?
def backslashes(s)
s = s.gsub(/^\.\//, "").gsub(/\//, "\\\\") if windows?
@@ -41,6 +46,7 @@
tofile = File.expand_path(File.basename(fromfile), dest)
$stderr.puts "Copying #{fromfile} ..." if VERBOSE
+
File.copy(fromfile, tofile) unless File.file?(tofile)
end
end
@@ -61,7 +67,9 @@
usagescript = "rubyscript2exe.rb" if defined?(TAR2RUBYSCRIPT)
$stderr.puts <<-EOF
- Usage: ruby #{usagescript} application[.rb[w]] [--rubyscript2exe-rubyw|--rubyscript2exe-ruby] [--rubyscript2exe-nostrip]
+ Usage: ruby #{usagescript} application.rb[w] [--rubyscript2exe-rubyw|--rubyscript2exe-ruby] [--rubyscript2exe-nostrip]
+ or
+ ruby #{usagescript} application[/] [--rubyscript2exe-rubyw|--rubyscript2exe-ruby] [--rubyscript2exe-nostrip]
On Linux and Darwin, there's no difference between ruby and rubyw.
@@ -83,7 +91,6 @@
libdir2 = tmplocation("lib/")
appdir2 = tmplocation("app/")
-script = "#{script}.rb" unless script =~ /\.rbw?$/
app = File.basename(script.gsub(/\.rbw?$/, ""))
$stderr.puts "Tracing #{app} ..." unless QUIET
@@ -98,12 +105,28 @@
ENV["REQUIRE2LIB_LOADSCRIPT"] = loadscript
oldlocation do
- command = backslashes("#{bindir1}/ruby") + " #{required.join(" ")} #{libs.join(" ")} -r '#{newlocation("require2lib.rb")}' '#{script}' #{verbose} #{quiet} #{argv.join(" ")}"
+ unless File.exist?(script)
+ $stderr.puts "#{script} doesn't exist."
+
+ exit 1
+ end
+
+ apprb = script if File.file?(script)
+ apprb = "#{script}/init.rb" if File.directory?(script)
+
+ unless File.file?(apprb)
+ $stderr.puts "#{apprb} doesn't exist."
+
+ exit 1
+ end
+
+ command = backslashes("#{bindir1}/ruby") + " #{required.join(" ")} #{libs.join(" ")} -r '#{newlocation("require2lib.rb")}' '#{apprb}' #{verbose} #{quiet} #{argv.join(" ")}"
system(command)
unless File.file?(loadscript)
$stderr.puts "Couldn't execute this command (rc=#{$?}):\n#{command}"
+ $stderr.puts "Stopped."
exit 16
end
@@ -124,23 +147,24 @@
$stderr.puts "Copying files..." unless QUIET
-copyto([RUBYSCRIPT2EXE_DLLS].flatten.collect{|s| oldlocation(s)}, bindir2) if defined?(RUBYSCRIPT2EXE_DLLS)
-copyto([RUBYSCRIPT2EXE_BIN].flatten.collect{|s| oldlocation(s)}, bindir2) if defined?(RUBYSCRIPT2EXE_BIN)
-copyto([RUBYSCRIPT2EXE_LIB].flatten.collect{|s| oldlocation(s)}, libdir2) if defined?(RUBYSCRIPT2EXE_LIB)
-
-copyto(rubyexe, bindir2) if linux? or darwin? if File.file?(rubyexe)
-copyto(ldds(rubyexe), bindir2) if linux? or darwin?
-
-copyto(rubyexe, bindir2) if windows? or cygwin? if File.file?(rubyexe)
-copyto(rubywexe, bindir2) if windows? or cygwin? if File.file?(rubyexe)
-copyto(dlls(rubyexe), bindir2) if windows? or cygwin?
+copyto([RUBYSCRIPT2EXE::DLLS].flatten.collect{|s| oldlocation(s)}, bindir2)
+copyto([RUBYSCRIPT2EXE::BIN].flatten.collect{|s| oldlocation(s)}, bindir2)
+copyto([RUBYSCRIPT2EXE::LIB].flatten.collect{|s| oldlocation(s)}, libdir2)
+
+copyto(rubyexe, bindir2) if (linux? or darwin?) and File.file?(rubyexe)
+copyto(ldds(rubyexe), bindir2) if (linux? or darwin?)
+
+copyto(rubyexe, bindir2) if (windows? or cygwin?) and File.file?(rubyexe)
+copyto(rubywexe, bindir2) if (windows? or cygwin?) and File.file?(rubywexe)
+copyto(dlls(rubyexe), bindir2) if (windows? or cygwin?) and File.file?(rubyexe)
-copyto([oldlocation(script)], appdir2)
+copyto(oldlocation(script), appdir2) if File.file?(oldlocation(script))
+Dir.copy(oldlocation(script), appdir2) if File.directory?(oldlocation(script))
copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| ldds(file)}, bindir2) if linux? or darwin?
copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| dlls(file)}, bindir2) if windows? or cygwin?
-if TK or defined?(RUBYSCRIPT2EXE_TK)
+if TK or RUBYSCRIPT2EXE::TK
if File.file?("#{libdir2}/tk.rb")
$stderr.puts "Copying TCL/TK..." unless QUIET
@@ -180,10 +204,15 @@
File.open(tmplocation("bootstrap.rb"), "w") do |f|
f.puts "# Set up the environment"
+ f.puts "module RUBYSCRIPT2EXE"
+ f.puts "end"
+
f.puts "dir = File.expand_path(File.dirname(__FILE__))"
f.puts "dir.sub!(/^.:/, '/cygdrive/%s' % $&[0..0].downcase) if dir =~ /^.:/" if cygwin?
- f.puts "bin = dir + '/bin'"
- f.puts "lib = dir + '/lib'"
+ f.puts "bin = dir + '/bin'"
+ f.puts "lib = dir + '/lib'"
+ f.puts "appbin = dir + '/app/bin'"
+ f.puts "applib = dir + '/app/lib'"
f.puts "verbose = $VERBOSE"
f.puts "$VERBOSE = nil"
@@ -198,6 +227,7 @@
f.puts "$:.clear"
f.puts "$: << lib"
+ f.puts "$: << applib"
f.puts "# Load eee.info"
@@ -214,16 +244,16 @@
f.puts " end"
f.puts " lines.each do |line|"
f.puts " k, v = line.strip.split(/\s*=\s*/, 2)"
- f.puts " k.gsub!(/^EEE_/, 'RUBYSCRIPT2EXE_')"
- f.puts " v = File.expand_path(v) if k == 'RUBYSCRIPT2EXE_APPEXE'"
- f.puts " eval('%s=%s' % [k, v.inspect])"
+ f.puts " k.gsub!(/^EEE_/, '')"
+ f.puts " v = File.expand_path(v) if k == 'APPEXE'"
+ f.puts " RUBYSCRIPT2EXE.module_eval{const_set(k, v)}"
f.puts " end"
- f.puts " ARGV.concat(RUBYSCRIPT2EXE_PARMSLIST.split(/\000/))"
+ f.puts " ARGV.concat(RUBYSCRIPT2EXE::PARMSLIST.split(/\000/))"
f.puts "end"
f.puts "# Set the RubyGems environment."
- if RUBYSCRIPT2EXE_RUBYGEMS
+ if RUBYSCRIPT2EXE::RUBYGEMS
f.puts "ENV.keys.each do |key|"
f.puts " ENV.delete(key) if key =~ /^gem_/i"
f.puts "end"
@@ -231,9 +261,13 @@
f.puts "require 'rubygems'"
end
+ f.puts "module RUBYSCRIPT2EXE"
+ f.puts " RUBYEXE = '#{rubyexe}'"
+ f.puts " COMPILED = true"
+ f.puts "end"
+
f.puts "# Start the application"
- f.puts "RUBYSCRIPT2EXE = '#{rubyexe}'"
f.puts "load($0 = ARGV.shift)"
end
@@ -248,8 +282,10 @@
f.puts "r app"
f.puts "i eee.info"
- apprb = File.basename(script)
+ apprb = File.basename(script) if File.file?(oldlocation(script))
+ apprb = "init.rb" if File.directory?(oldlocation(script))
+ # ??? nog iets met app/bin?
if linux?
f.puts "c PATH=%tempdir%/bin:$PATH ; export LD_LIBRARY_PATH=%tempdir%/bin:$LD_LIBRARY_PATH ; chmod +x %tempdir%/bin/* ; %tempdir%/bin/#{rubyexe} -r %tempdir%/bootstrap.rb -T1 %tempdir%/empty.rb %tempdir%/app/#{apprb}"
elsif darwin?
@@ -261,6 +297,18 @@
end
end
+too_long = File.read(tmplocation(appeee)).split(/\r*\n/).select{|line| line.length > 255}
+
+unless too_long.empty?
+ too_long.each do |line|
+ $stderr.puts "Line is too long (#{line.length}): #{line}"
+ end
+
+ $stderr.puts "Stopped."
+
+ exit 16
+end
+
from = newlocation(eeeexe)
from = applocation(eeeexe) unless File.file?(from)
from = oldlocation(eeeexe) unless File.file?(from)
@@ -272,7 +320,7 @@
tmplocation do
ENV["EEE_EXE"] = eeeexe
ENV["EEE_DIR"] = Dir.pwd
- ENV["EEE_TEMPDIR"] = RUBYSCRIPT2EXE_TEMPDIR if defined?(RUBYSCRIPT2EXE_TEMPDIR)
+ ENV["EEE_TEMPDIR"] = RUBYSCRIPT2EXE::TEMPDIR if RUBYSCRIPT2EXE::TEMPDIR
eeebin1 = newlocation("eee.exe")
eeebin1 = newlocation("eee_linux") if linux?
@@ -311,3 +359,5 @@
oldlocation do
system(backslashes("reshacker -modify #{tmplocation(appexe)}, #{appexe}, #{appico}, icon,appicon,")) if File.file?(appico) and (windows? or cygwin?)
end
+
+end # if __FILE__ == $0
diff -ur rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/require2lib.rb rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/require2lib.rb
--- rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/require2lib.rb 2006-06-28 17:18:44.000000000 +0200
+++ rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/require2lib.rb 2006-07-29 20:28:12.000000000 +0200
@@ -3,25 +3,16 @@
exit if __FILE__ == $0
-$require2lib_loaded = []
-
-REQUIRE2LIB = true unless defined?(REQUIRE2LIB)
-
-module Kernel
- alias :old_load :load
- def load(filename, wrap=false)
- $require2lib_loaded << filename unless $require2lib_loaded.include?(filename)
-
- old_load(filename, wrap)
- end
+module RUBYSCRIPT2EXE
end
-module Require
+module REQUIRE2LIB
JUSTRUBYLIB = ARGV.include?("--require2lib-justrubylib")
JUSTSITELIB = ARGV.include?("--require2lib-justsitelib")
RUBYGEMS = (not JUSTRUBYLIB)
VERBOSE = ARGV.include?("--require2lib-verbose")
QUIET = (ARGV.include?("--require2lib-quiet") and not VERBOSE)
+ LOADED = []
ARGV.delete_if{|arg| arg =~ /^--require2lib-/}
@@ -35,7 +26,7 @@
at_exit do
Dir.chdir(ORGDIR)
- Require.gatherlibs
+ REQUIRE2LIB.gatherlibs
end
def self.gatherlibs
@@ -57,6 +48,8 @@
pureruby = true
if rubygems
+ require "fileutils" # Hack ???
+
requireablefiles = []
Dir.mkdir(File.expand_path("rubyscript2exe.gems", LIBDIR))
@@ -96,7 +89,7 @@
end
end
- ($" + $require2lib_loaded).each do |req|
+ ($" + LOADED).each do |req|
catch :found do
$:.each do |lib|
fromfile = File.expand_path(req, lib)
@@ -133,12 +126,23 @@
unless LOADSCRIPT == ORGDIR
File.open(LOADSCRIPT, "w") do |f|
- f.puts "RUBYSCRIPT2EXE_DLLS = #{RUBYSCRIPT2EXE_DLLS.inspect}" if defined?(RUBYSCRIPT2EXE_DLLS)
- f.puts "RUBYSCRIPT2EXE_BIN = #{RUBYSCRIPT2EXE_BIN.inspect}" if defined?(RUBYSCRIPT2EXE_BIN)
- f.puts "RUBYSCRIPT2EXE_LIB = #{RUBYSCRIPT2EXE_LIB.inspect}" if defined?(RUBYSCRIPT2EXE_LIB)
- f.puts "RUBYSCRIPT2EXE_TEMPDIR = #{RUBYSCRIPT2EXE_TEMPDIR.inspect}" if defined?(RUBYSCRIPT2EXE_TEMPDIR)
- f.puts "RUBYSCRIPT2EXE_RUBYGEMS = #{rubygems.inspect}"
+ f.puts "module RUBYSCRIPT2EXE"
+ RUBYSCRIPT2EXE.class_variables.each do |const|
+ const = const[2..-1]
+ f.puts " #{const.upcase}=#{RUBYSCRIPT2EXE.send(const).inspect}"
+ end
+ f.puts " RUBYGEMS=#{rubygems.inspect}"
+ f.puts "end"
end
end
end
end
+
+module Kernel
+ alias :old_load :load
+ def load(filename, wrap=false)
+ REQUIRE2LIB::LOADED << filename unless REQUIRE2LIB::LOADED.include?(filename)
+
+ old_load(filename, wrap)
+ end
+end
diff -ur rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/rubyscript2exe.rb rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/rubyscript2exe.rb
--- rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/rubyscript2exe.rb 2006-07-29 20:29:13.373843640 +0200
+++ rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/rubyscript2exe.rb 2006-07-29 20:28:11.000000000 +0200
@@ -0,0 +1,47 @@
+module RUBYSCRIPT2EXE
+ @@dlls = []
+ @@bin = []
+ @@lib = []
+ @@tempdir = nil
+ @@tk = false
+
+ def self.dlls ; @@dlls ; end
+ def self.dlls=(a) ; @@dlls = a ; end
+
+ def self.bin ; @@bin ; end
+ def self.bin=(a) ; @@bin = a ; end
+
+ def self.lib ; @@lib ; end
+ def self.lib=(a) ; @@lib = a ; end
+
+ def self.tempdir ; @@tempdir ; end
+ def self.tempdir=(s) ; @@tempdir = s ; end
+
+ def self.tk ; @@tk ; end
+ def self.tk=(b) ; @@tk = b ; end
+
+ def self.appdir(file=nil, &block)
+ dir = File.dirname(File.expand_path($0))
+ dir = File.expand_path(File.join(TEMPDIR, "app")) if not defined?(TAR2RUBYSCRIPT) and is_compiled? and defined?(TEMPDIR)
+
+ if block
+ pdir = Dir.pwd
+
+ Dir.chdir(dir)
+ res = block[]
+ Dir.chdir(pdir)
+ else
+ res = File.join(*([dir, file].compact))
+ end
+
+ res
+ end
+
+ def self.is_compiling?
+ defined?(REQUIRE2LIB)
+ end
+
+ def self.is_compiled?
+ defined?(COMPILED)
+ end
+end
diff -ur rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/VERSION rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/VERSION
--- rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/VERSION 2006-06-28 17:18:44.000000000 +0200
+++ rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/VERSION 2006-07-29 20:28:11.000000000 +0200
@@ -1 +1 @@
-0.4.4
+0.5.0
Binary files rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/eee.exe and rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/eee.exe differ
Binary files rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/eee_linux and rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/eee_linux differ
Binary files rubyscript2exe-0.4.4.tar.gz/rubyscript2exe/eeew.exe and rubyscript2exe-0.5.0.tar.gz/rubyscript2exe/eeew.exe differ