Make dependency-free gemspec files
The default gems have not been installed yet in the build directory, bundled gems depending on them can not work. As those dependencies should be usable there even without rubygems, make temporary gemspec files without the dependencies, and use them in the build directory.
This commit is contained in:
parent
e1a4e44f14
commit
a2c66f52f4
Notes:
git
2022-07-14 09:00:40 +09:00
11
ext/extmk.rb
11
ext/extmk.rb
@ -565,6 +565,17 @@ clean-so::
|
||||
end
|
||||
}
|
||||
|
||||
if @gemname
|
||||
gemdir = File.join($top_srcdir, ext_prefix, @gemname)
|
||||
if File.exist?(spec_file = File.join(gemdir, ".bundled.#{@gemname}.gemspec")) or
|
||||
File.exist?(spec_file = File.join(gemdir, "#{@gemname}.gemspec"))
|
||||
dest = "#{File.dirname(ext_prefix)}/specifications"
|
||||
FileUtils.mkdir_p(dest)
|
||||
File.copy_stream(spec_file, "#{dest}/#{@gemname}.gemspec")
|
||||
puts "copied #{@gemname}.gemspec"
|
||||
end
|
||||
end
|
||||
|
||||
dir = Dir.pwd
|
||||
FileUtils::makedirs(ext_prefix)
|
||||
Dir::chdir(ext_prefix)
|
||||
|
@ -18,5 +18,9 @@ def Gem.unpack(file, dir = nil, spec_dir = nil)
|
||||
end
|
||||
FileUtils.mkdir_p(spec_dir)
|
||||
File.binwrite(File.join(spec_dir, "#{spec.name}-#{spec.version}.gemspec"), spec.to_ruby)
|
||||
unless spec.extensions.empty? or spec.dependencies.empty?
|
||||
spec.dependencies.clear
|
||||
end
|
||||
File.binwrite(File.join(spec_dir, ".bundled.#{spec.name}-#{spec.version}.gemspec"), spec.to_ruby)
|
||||
puts "Unpacked #{file}"
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user