2 # scripts/Makefiles can read and eval the output of this script and
6 fp
= File
.open(__FILE__
, "rb")
7 fp
.flock(File
::LOCK_EX)
9 ruby_engine
= defined?(RUBY_ENGINE
) ? RUBY_ENGINE
: 'ruby'
12 # we want "ruby-1.8.7" and not "ruby-1.8", so disable :multiruby
14 :path => "tmp/isolate/#{ruby_engine}-#{RUBY_VERSION}",
19 gem
'sqlite3-ruby', '1.2.5'
20 gem
'raindrops', '0.6.1'
25 _
, status
= Process
.waitpid2(pid
)
26 status
.success
? or abort status
.inspect
27 lib_paths
= Dir
["#{opts[:path]}/gems/*-*/lib"].map
{ |x
| File
.expand_path(x
) }
28 dst
= "tmp/isolate/#{ruby_engine}-#{RUBY_VERSION}.mk"
29 File
.open("#{dst}.#$$", "w") do |fp
|
30 fp
.puts
"ISOLATE_LIBS=#{lib_paths.join(':')}"
32 File
.rename("#{dst}.#$$", dst
)
34 # pure Ruby gems can be shared across all Rubies
35 %w(3.0.0).each
do |rails_ver
|
36 opts
[:path] = "tmp/isolate/rails-#{rails_ver}"
40 gem
'rails', rails_ver
43 _
, status
= Process
.waitpid2(pid
)
44 status
.success
? or abort status
.inspect
45 more
= Dir
["#{opts[:path]}/gems/*-*/lib"].map
{ |x
| File
.expand_path(x
) }
46 lib_paths
.concat(more
)