Changeset View
Changeset View
Standalone View
Standalone View
lang/ruby26/files/patch-tool_rbinstall.rb
--- tool/rbinstall.rb.orig 2019-02-05 12:15:47 UTC | --- tool/rbinstall.rb.orig 2019-04-19 10:54:19.302709000 +0900 | ||||
+++ tool/rbinstall.rb | +++ tool/rbinstall.rb 2019-04-19 11:00:53.499751000 +0900 | ||||
@@ -325,6 +325,7 @@ bindir = CONFIG["bindir", true] | @@ -785,130 +785,6 @@ | ||||
libdir = CONFIG[CONFIG.fetch("libdirname", "libdir"), true] | |||||
rubyhdrdir = CONFIG["rubyhdrdir", true] | |||||
archhdrdir = CONFIG["rubyarchhdrdir"] || (rubyhdrdir + "/" + CONFIG['arch']) | |||||
+libdatadir = CONFIG["prefix", true] + "/" + "libdata" | |||||
rubylibdir = CONFIG["rubylibdir", true] | |||||
archlibdir = CONFIG["rubyarchdir", true] | |||||
sitelibdir = CONFIG["sitelibdir"] | |||||
@@ -378,7 +379,7 @@ end | |||||
install?(:local, :arch, :data) do | |||||
pc = CONFIG["ruby_pc"] | |||||
if pc and File.file?(pc) and File.size?(pc) | |||||
- prepare "pkgconfig data", pkgconfigdir = File.join(libdir, "pkgconfig") | |||||
+ prepare "pkgconfig data", pkgconfigdir = File.join(libdatadir, "pkgconfig") | |||||
install pc, pkgconfigdir, :mode => $data_mode | |||||
end | |||||
end | |||||
@@ -762,130 +763,6 @@ end | |||||
# :startdoc: | # :startdoc: | ||||
-install?(:ext, :comm, :gem, :'default-gems', :'default-gems-comm') do | -install?(:ext, :comm, :gem, :'default-gems', :'default-gems-comm') do | ||||
- install_default_gem('lib', srcdir) | - install_default_gem('lib', srcdir) | ||||
-end | -end | ||||
-install?(:ext, :arch, :gem, :'default-gems', :'default-gems-arch') do | -install?(:ext, :arch, :gem, :'default-gems', :'default-gems-arch') do | ||||
- install_default_gem('ext', srcdir) | - install_default_gem('ext', srcdir) | ||||
-end | -end | ||||
- | - | ||||
-def load_gemspec(file) | -def load_gemspec(file) | ||||
- file = File.realpath(file) | |||||
- code = File.read(file, encoding: "utf-8:-") | - code = File.read(file, encoding: "utf-8:-") | ||||
- code.gsub!(/`git.*?`/m, '""') | - code.gsub!(/`git.*?`/m, '""') | ||||
- begin | - code.gsub!(/%x\[git.*?\]/m, '""') | ||||
- spec = eval(code, binding, file) | - spec = eval(code, binding, file) | ||||
- rescue SignalException, SystemExit | - unless Gem::Specification === spec | ||||
- raise | - raise TypeError, "[#{file}] isn't a Gem::Specification (#{spec.class} instead)." | ||||
- rescue SyntaxError, Exception | |||||
- end | - end | ||||
- raise("invalid spec in #{file}") unless spec | |||||
- spec.loaded_from = file | - spec.loaded_from = file | ||||
- spec | - spec | ||||
-end | -end | ||||
- | - | ||||
-def install_default_gem(dir, srcdir) | -def install_default_gem(dir, srcdir) | ||||
- gem_dir = Gem.default_dir | - gem_dir = Gem.default_dir | ||||
- directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode) | - directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode) | ||||
- prepare "default gems from #{dir}", gem_dir, directories | - prepare "default gems from #{dir}", gem_dir, directories | ||||
Show All 19 Lines | |||||
- gemspec.to_ruby | - gemspec.to_ruby | ||||
- end | - end | ||||
- | - | ||||
- unless gemspec.executables.empty? then | - unless gemspec.executables.empty? then | ||||
- bin_dir = File.join(gem_dir, 'gems', full_name, gemspec.bindir) | - bin_dir = File.join(gem_dir, 'gems', full_name, gemspec.bindir) | ||||
- makedirs(bin_dir) | - makedirs(bin_dir) | ||||
- | - | ||||
- gemspec.executables.map {|exec| | - gemspec.executables.map {|exec| | ||||
- $script_installer.install(File.join(srcdir, 'bin', exec), | - install File.join(srcdir, 'libexec', exec), | ||||
- File.join(bin_dir, exec)) | - File.join(bin_dir, exec) | ||||
- } | - } | ||||
- end | - end | ||||
- end | - end | ||||
-end | -end | ||||
- | - | ||||
-install?(:ext, :comm, :gem, :'bundled-gems') do | -install?(:ext, :comm, :gem, :'bundled-gems') do | ||||
- gem_dir = Gem.default_dir | - gem_dir = Gem.default_dir | ||||
- directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode) | - directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode) | ||||
- prepare "bundled gems", gem_dir, directories | - prepare "bundled gems", gem_dir, directories | ||||
- install_dir = with_destdir(gem_dir) | - install_dir = with_destdir(gem_dir) | ||||
- installed_gems = {} | - installed_gems = {} | ||||
- options = { | - options = { | ||||
- :install_dir => install_dir, | - :install_dir => install_dir, | ||||
- :bin_dir => with_destdir(bindir), | - :bin_dir => with_destdir(bindir), | ||||
- :domain => :local, | - :domain => :local, | ||||
- :ignore_dependencies => true, | - :ignore_dependencies => true, | ||||
- :dir_mode => $dir_mode, | - :dir_mode => $dir_mode, | ||||
- :data_mode => $data_mode, | - :data_mode => $data_mode, | ||||
- :prog_mode => $prog_mode, | - :prog_mode => $prog_mode, | ||||
- :wrappers => true, | - :wrappers => true, | ||||
- :format_executable => true, | - :format_executable => true, | ||||
- } | - } | ||||
- gem_ext_dir = "#$extout/gems/#{CONFIG['arch']}" | - gem_ext_dir = "#$extout/gems/#{CONFIG['arch']}" | ||||
- extensions_dir = Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir | - extensions_dir = Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir | ||||
- Gem::Specification.each_gemspec([srcdir+'/gems/*']) do |path| | - dirs = Gem::Util.glob_files_in_dir "*/", "#{srcdir}/gems" | ||||
- Gem::Specification.each_gemspec(dirs) do |path| | |||||
- spec = load_gemspec(path) | - spec = load_gemspec(path) | ||||
- next unless spec.platform == Gem::Platform::RUBY | - next unless spec.platform == Gem::Platform::RUBY | ||||
- next unless spec.full_name == path[srcdir.size..-1][/\A\/gems\/([^\/]+)/, 1] | - next unless spec.full_name == path[srcdir.size..-1][/\A\/gems\/([^\/]+)/, 1] | ||||
- spec.extension_dir = "#{extensions_dir}/#{spec.full_name}" | - spec.extension_dir = "#{extensions_dir}/#{spec.full_name}" | ||||
- if File.directory?(ext = "#{gem_ext_dir}/#{spec.full_name}") | - if File.directory?(ext = "#{gem_ext_dir}/#{spec.full_name}") | ||||
- spec.extensions[0] ||= "-" | - spec.extensions[0] ||= "-" | ||||
- end | - end | ||||
- ins = RbInstall::UnpackedInstaller.new(spec, options) | - ins = RbInstall::UnpackedInstaller.new(spec, options) | ||||
Show All 13 Lines | |||||
- if defined?(Zlib) | - if defined?(Zlib) | ||||
- Gem.instance_variable_set(:@ruby, with_destdir(File.join(bindir, ruby_install_name))) | - Gem.instance_variable_set(:@ruby, with_destdir(File.join(bindir, ruby_install_name))) | ||||
- silent = Gem::SilentUI.new | - silent = Gem::SilentUI.new | ||||
- gems.each do |gem| | - gems.each do |gem| | ||||
- inst = Gem::Installer.new(gem, options) | - inst = Gem::Installer.new(gem, options) | ||||
- inst.spec.extension_dir = with_destdir(inst.spec.extension_dir) | - inst.spec.extension_dir = with_destdir(inst.spec.extension_dir) | ||||
- begin | - begin | ||||
- Gem::DefaultUserInteraction.use_ui(silent) {inst.install} | - Gem::DefaultUserInteraction.use_ui(silent) {inst.install} | ||||
- rescue Gem::InstallError => e | - rescue Gem::InstallError | ||||
- next | - next | ||||
- end | - end | ||||
- gemname = File.basename(gem) | - gemname = File.basename(gem) | ||||
- puts "#{INDENT}#{gemname}" | - puts "#{INDENT}#{gemname}" | ||||
- end | - end | ||||
- # fix directory permissions | - # fix directory permissions | ||||
- # TODO: Gem.install should accept :dir_mode option or something | - # TODO: Gem.install should accept :dir_mode option or something | ||||
- File.chmod($dir_mode, *Dir.glob(install_dir+"/**/")) | - File.chmod($dir_mode, *Dir.glob(install_dir+"/**/")) | ||||
Show All 10 Lines |