diff -ur rubyscript2exe-0.3.0.tar.gz rubyscript2exe-0.3.1.tar.gz

diff -ur rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/ev/dependencies.rb rubyscript2exe-0.3.1.tar.gz/rubyscript2exe/ev/dependencies.rb
--- rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/ev/dependencies.rb	2004年12月27日 13:17:55.000000000 +0100
+++ rubyscript2exe-0.3.1.tar.gz/rubyscript2exe/ev/dependencies.rb	2005年01月13日 23:07:30.000000000 +0100
@@ -14,7 +14,7 @@
 todo2.each do |file|
 File.open(file, "rb") do |f|
 strings	= f.read.scan(/[\w\-\.]+/)	# Hack ???
- strings.delete_if{|s| s !~ /\.dll$/i}
+ strings.delete_if{|s| s !~ /\.(so|o|dll)$/i}
 
 strings.each do |lib|
 lib	= File.expand_path(lib, path)
diff -ur rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/ev/ftools.rb rubyscript2exe-0.3.1.tar.gz/rubyscript2exe/ev/ftools.rb
--- rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/ev/ftools.rb	2004年12月27日 13:17:55.000000000 +0100
+++ rubyscript2exe-0.3.1.tar.gz/rubyscript2exe/ev/ftools.rb	2005年01月13日 23:07:30.000000000 +0100
@@ -1,22 +1,12 @@
 require "ftools"
 
 class Dir
- def self.mkdirrec(dir)
- pdir	= File.dirname(dir)
-
- if not pdir.empty? and not File.directory?(pdir)
- Dir.mkdirrec(pdir)
- end
-
- Dir.mkdir(dir)	rescue nil
- end
-
 def self.copy(from, to)
 if File.directory?(from)
 pdir	= Dir.pwd
 todir	= File.expand_path(to)
 
- mkdirrec(todir)
+ File.mkpath(todir)
 
 Dir.chdir(from)
 Dir.new(".").each do |e|
@@ -26,7 +16,7 @@
 else
 todir	= File.dirname(File.expand_path(to))
 
- mkdirrec(todir)
+ File.mkpath(todir)
 
 File.copy(from, to)
 end
@@ -47,16 +37,24 @@
 end
 Dir.chdir(pdir)
 
- Dir.delete(entry)
+ begin
+ Dir.delete(entry)
+ rescue => e
+ $stderr.puts e.message
+ end
 else
- File.delete(entry)
+ begin
+ File.delete(entry)
+ rescue => e
+ $stderr.puts e.message
+ end
 end
 end
 
 def self.find(entry=nil, mask=nil)
 entry	= "."	if entry.nil?
 
- entry	= entry.gsub!(/[\/\\]*$/, "")	unless entry.nil?
+ entry	= entry.gsub(/[\/\\]*$/, "")	unless entry.nil?
 
 mask	= /^#{mask}$/i	if mask.kind_of?(String)
 
@@ -77,8 +75,8 @@
 ensure
 Dir.chdir(pdir)
 end
- rescue Errno::EACCES => error
- puts error
+ rescue Errno::EACCES => e
+ $stderr.puts e.message
 end
 else
 res += [entry]	if mask.nil? or entry =~ mask
@@ -99,7 +97,7 @@
 	# Rollback
 
 if File.file?(backupfile) and File.file?(controlfile)
- $stdout.puts "Restoring #{file}..."
+ $stderr.puts "Restoring #{file}..."
 
 File.copy(backupfile, file)				# Rollback from phase 3
 end
diff -ur rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/init.rb rubyscript2exe-0.3.1.tar.gz/rubyscript2exe/init.rb
--- rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/init.rb	2004年12月26日 22:50:56.000000000 +0100
+++ rubyscript2exe-0.3.1.tar.gz/rubyscript2exe/init.rb	2005年01月11日 22:53:53.000000000 +0100
@@ -1,3 +1,7 @@
+$: << File.dirname(File.expand_path(__FILE__))
+
+required	= $".collect{|a| "-r " + a}
+
 require "ev/oldandnewlocation"
 require "ev/dependencies"
 require "ev/ftools"
@@ -26,6 +30,11 @@
 Config::CONFIG["target_os"] or ""
 end
 
+RUBY		= ARGV.include?("--rubyscript2exe-ruby")
+RUBYW		= ARGV.include?("--rubyscript2exe-rubyw")
+
+ARGV.delete_if{|arg| arg =~ /^--rubyscript2exe-/}
+
 script	= ARGV.shift
 
 if script.nil?
@@ -44,10 +53,8 @@
 
 rubyw	= false
 rubyw	= true		if script =~ /\.rbw$/
-rubyw	= false		if ARGV.include?("--rubyscript2exe-ruby")
-rubyw	= true		if ARGV.include?("--rubyscript2exe-rubyw")
-
-ARGV.delete_if{|arg| arg =~ /^--rubyscript2exe-/}
+rubyw	= false		if RUBY
+rubyw	= true		if RUBYW
 
 bindir1	= Config::CONFIG["bindir"]
 libdir1	= Config::CONFIG["libdir"]
@@ -60,10 +67,10 @@
 
 $stderr.puts "Tracing #{app}..."
 
-libs	= $:.collect{|a| " -I " + a}
+libs	= $:.collect{|a| "-I " + a}
 
 oldlocation do
- system(backslashes("#{bindir1}/ruby #{libs.join(" ")} -r ´#{newlocation("require2lib.rb")}´ ´#{script}´ ´#{libdir2}´ ") + ARGV.collect{|a| "´" + a + "´"}.join(" "))
+ system(backslashes("#{bindir1}/ruby") + " #{required.join(" ")} #{libs.join(" ")} -r ´#{newlocation("require2lib.rb")}´ ´#{script}´ ´#{bindir2}´ ´#{libdir2}´ --require2lib-quiet" + " " + ARGV.collect{|a| "´" + a + "´"}.join(" "))
 end
 
 $stderr.puts "Copying files..."
@@ -92,7 +99,7 @@
 file	= File.basename(s1)
 s2	= File.expand_path(file, bindir2)
 
- $stderr.puts "Copying #{s1} ..."
+ #$stderr.puts "Copying #{s1} ..."
 File.copy(s1, s2)	unless File.file?(s2)
 end
 
@@ -100,21 +107,21 @@
 s1	= oldlocation(script)
 s2	= File.expand_path("app.rb", appdir2)
 
- $stderr.puts "Copying #{s1} ..."
+ #$stderr.puts "Copying #{s1} ..."
 File.copy(s1, s2)	unless File.file?(s2)
 end
 
 if linux?
- tocopy	= Dir.find(libdir2, /\.so$/).collect{|file| ldds(file)}.flatten.sort.uniq
+ tocopy	= Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| ldds(file)}.flatten.sort.uniq
 else
- tocopy	= Dir.find(libdir2, /\.so$/).collect{|file| dlls(file, bindir1)}.flatten.sort.uniq
+ tocopy	= Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| dlls(file, bindir1)}.flatten.sort.uniq
 end
 
 tocopy.each do |s1|
 file	= File.basename(s1)
 s2	= File.expand_path(file, bindir2)
 
- $stderr.puts "Copying #{s1} ..."
+ #$stderr.puts "Copying #{s1} ..."
 File.copy(s1, s2)	unless File.file?(s2)
 end
 
@@ -141,8 +148,8 @@
 end
 
 File.open(tmplocation("eee.rb"), "w") do |f|
- f.puts "lib = File.expand_path(File.dirname(__FILE__)) + ´/lib´"
- f.puts "lib.sub!(/^.:/, ´/cygdrive/%s´ % $&[0..0].downcase) if lib =~ /^.:/"	if cygwin?
+ f.puts "lib	= File.expand_path(File.dirname(__FILE__)) + ´/lib´"
+ f.puts "lib.sub!(/^.:/, ´/cygdrive/%s´ % $&[0..0].downcase)	if lib =~ /^.:/"	if cygwin?
 f.puts "$:.clear"
 f.puts "$: << lib"
 end
diff -ur rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/require2lib.rb rubyscript2exe-0.3.1.tar.gz/rubyscript2exe/require2lib.rb
--- rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/require2lib.rb	2004年12月27日 13:17:55.000000000 +0100
+++ rubyscript2exe-0.3.1.tar.gz/rubyscript2exe/require2lib.rb	2005年01月13日 23:07:30.000000000 +0100
@@ -1,6 +1,8 @@
-require "ftools"
+require "ev/ftools"
 require "rbconfig"
 
+exit	if __FILE__ == 0ドル
+
 $require2lib_loaded	= []
 
 module Kernel
@@ -13,17 +15,17 @@
 end
 
 module Require
- JUSTEV	= ARGV.include?("--require2lib-justev")
 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)
 
- ARGV.delete_if do |arg|
- arg =~ /^--require2lib-/
- end
+ ARGV.delete_if{|arg| arg =~ /^--require2lib-/}
 
 ORGDIR	= Dir.pwd
 THISFILE	= File.expand_path(__FILE__)
+ BINDIR	= File.expand_path(ARGV.shift)
 LIBDIR	= File.expand_path(ARGV.shift)
 RUBYLIBDIR	= Config::CONFIG["rubylibdir"]
 SITELIBDIR	= Config::CONFIG["sitelibdir"]
@@ -39,81 +41,148 @@
 
 File.makedirs(LIBDIR)
 
+ if RUBYGEMS
+ begin
+ Gem::dir
+ rubygems	= true
+ rescue NameError
+ rubygems	= false
+ end
+ else
+ rubygems		= false
+ end
+
 pureruby	= true
 
- ($" + $require2lib_loaded).each do |req|
- if not JUSTEV or req =~ /^ev\//
- unless req =~ /^rubygems[\.\/]/
- catch :found do
- $:.each do |lib|
- fromfile	= File.expand_path(req, lib)
- tofile	= File.expand_path(req, LIBDIR)
+ if rubygems
+ autorequire	= {}
+ dependencies	= {}
+ requirelibs	= []
+ requireablefiles	= []
+
+ Gem::Specification.list.each do |gem|
+ if gem.loaded?
+ $stderr.puts "Found gem #{gem.name} (#{gem.version})."	if VERBOSE
+
+ fromdir	= gem.full_gem_path
+ todir		= File.expand_path(File.join("rubyscript2exe.gems", gem.full_name), LIBDIR)
+
+ Dir.copy(fromdir, todir)
+
+ autorequire[gem.name]	= gem.autorequire	if gem.autorequire
+
+ dependencies[gem.name]	= []
+ gem.dependencies.each do |dep|
+ dependencies[gem.name] << dep.name
+ end
 
- if File.file?(fromfile)
- unless fromfile == tofile or fromfile == THISFILE
+ #gem.require_paths << gem.bindir	if gem.bindir
+ #gem.require_paths.each do |lib|
+ #lib	= File.join("rubyscript2exe.gems", gem.full_name, lib)
+ #requirelibs << lib	unless requirelibs.include?(lib)
+ #end
+
+ $:.reverse.each do |lib|
+ gemdir	= File.join(Gem.dir, "gems")
+ if lib =~ /^#{gemdir}/
+ lib	= lib[(gemdir.size+1)..-1]
+ lib	= File.join("rubyscript2exe.gems", lib)
+
+ requirelibs << lib	unless requirelibs.include?(lib)
+ end
+ end
+
+ Dir.find(todir).each do |file|
+ if File.file?(file)
+ gem.require_paths.each do |lib|
+ unless lib.empty?
+ lib	= File.expand_path(lib, todir)
+ lib	= lib + "/"
+
+ requireablefiles << file[lib.length..-1]	if file =~ /^#{lib}/
+ end
+ end
+ end
+ end
+ end
+ end
+
+ File.open(File.expand_path("rubygems.rb", LIBDIR), "w") do |f|
+ f.puts "module Kernel"
+ f.puts " def require_gem(file, version=nil)"
+ f.puts " autorequire		= %s" % autorequire.inspect
+ f.puts " dependencies	= %s" % dependencies.inspect
+ f.puts ""
+ f.puts " (dependencies[file] or []).each do |dep|"
+ f.puts " require_gem(dep)"
+ f.puts " end"
+ f.puts ""
+ f.puts " if autorequire.include?(file)"
+ f.puts " file	= autorequire[file]"
+ f.puts " require(file)"
+ f.puts " end"
+ f.puts " end"
+ f.puts "end"
+ f.puts ""
+ f.puts "requirelibs	= %s" % requirelibs.inspect
+ f.puts ""
+ f.puts "requirelibs.each do |lib|"
+ f.puts " $:.unshift(File.expand_path(lib, File.expand_path(File.dirname(__FILE__))))"
+ f.puts "end"
+ end
+ end
+
+ ($" + $require2lib_loaded).each do |req|
+ unless req =~ /^rubygems[\.\/]/
+ catch :found do
+ $:.each do |lib|
+ fromfile	= File.expand_path(req, lib)
+ tofile	= File.expand_path(req, LIBDIR)
+
+ if File.file?(fromfile)
+ unless fromfile == tofile or fromfile == THISFILE
+ unless (rubygems and requireablefiles.include?(req))	# ??? requireablefiles might be a little dangerous.
 if (not JUSTRUBYLIB and not JUSTSITELIB) or
 (JUSTRUBYLIB and fromfile.include?(RUBYLIBDIR)) or
 (JUSTSITELIB and fromfile.include?(SITELIBDIR))
 $stderr.puts "Found #{fromfile} ."	if VERBOSE
 
- File.makedirs(File.dirname(tofile))
+ File.makedirs(File.dirname(tofile))	unless File.directory?(File.dirname(tofile))
 File.copy(fromfile, tofile)
 
- pureruby	= false	unless req =~ /\.rb$/i
+ pureruby	= false	unless req =~ /\.(rbw?|ruby)$/i
 else
 $stderr.puts "Skipped #{fromfile} ."	if VERBOSE
 end
 end
-
- throw :found
 end
- end
 
- $stderr.puts "Can´t find #{req} ."	unless req =~ /^ev\//
+ throw :found
+ end
 end
+
+ #$stderr.puts "Can´t find #{req} ."	unless req =~ /^ev\//
+ #$stderr.puts "Can´t find #{req} ."	unless req =~ /^(\w:)?[\/\\]/
 end
 end
 end
 
- $stderr.puts "Not all copied files are pure Ruby."	unless pureruby
+ $stderr.puts "Not all required files are pure Ruby."	unless pureruby or QUIET
 
- if $".include?("rubygems.rb") or $".include?("rubygems.so")
- autorequire	= {}
+ if defined?(RUBYSCRIPT2EXE_DLLS)
+ [RUBYSCRIPT2EXE_DLLS].flatten.each do |dll|
+ fromfile	= File.expand_path(dll, ORGDIR)
+ tofile		= File.expand_path(File.basename(dll), BINDIR)
+
+ if File.file?(fromfile)
+ unless fromfile == tofile
+ $stderr.puts "Found #{fromfile} ."	if VERBOSE
 
- Gem::Specification.list.each do |gem|
-
- unless gem.autorequire.nil?
- unless $".collect{|s| (s =~ /^#{gem.autorequire}\.\w+$/)}.compact.empty?
- autorequire[gem.name]	= gem.autorequire
-
- gem.require_paths.flatten.each do |lib|
- lib	= File.expand_path(lib, gem.full_gem_path)
-
- gem.files.each do |file|
- fromfile	= File.expand_path(file, gem.full_gem_path)
- tofile	= File.expand_path(file, File.dirname(LIBDIR))
-
- if fromfile.include?(lib) and File.file?(fromfile)
- $stderr.puts "Found #{fromfile} ."	if VERBOSE
-
- File.makedirs(File.dirname(tofile))
- File.copy(fromfile, tofile)
- end
- end
- end
+ File.makedirs(File.dirname(tofile))	unless File.directory?(File.dirname(tofile))
+ File.copy(fromfile, tofile)
 end
 end
 end
-
- File.open(File.expand_path("rubygems.rb", LIBDIR), "w") do |f|
- f.puts "module Kernel"
- f.puts " def require_gem(file, version=nil)"
- f.puts " autorequire	= %s" % autorequire.inspect
- f.puts " file	= autorequire[file]	if autorequire.include?(file)"
- f.puts " require(file)"
- f.puts " end"
- f.puts "end"
- end
 end
 end
 end
Binary files rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/eee.exe and rubyscript2exe-0.3.1.tar.gz/rubyscript2exe/eee.exe differ
Binary files rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/eeew.exe and rubyscript2exe-0.3.1.tar.gz/rubyscript2exe/eeew.exe differ

AltStyle によって変換されたページ (->オリジナル) /