From 05bc14d81a1d7f6af826a92371aeff0c3fb2a67e Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Mon, 27 May 2019 20:54:20 -0700 Subject: [PATCH] Fix building with 1.8 BASERUBY --- common.mk | 6 +++--- tool/colorize.rb | 2 +- tool/downloader.rb | 4 ++-- tool/generic_erb.rb | 5 +++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/common.mk b/common.mk index 54e17186e4..4f08bc2763 100755 --- a/common.mk +++ b/common.mk @@ -785,9 +785,9 @@ extconf: $(PREP) $(RBCONFIG): $(srcdir)/tool/mkconfig.rb config.status $(srcdir)/version.h $(Q)$(BOOTSTRAPRUBY) -n \ - -e 'BEGIN{version=ARGV.shift;mis=ARGV.dup}' \ - -e 'END{abort "UNICODE version mismatch: #{mis}" unless mis.empty?}' \ - -e '(mis.delete(ARGF.path); ARGF.close) if /ONIG_UNICODE_VERSION_STRING +"#{Regexp.quote(version)}"/o' \ + -e 'BEGIN{VERSION=ARGV.shift;MIS=ARGV.dup}' \ + -e 'END{abort "UNICODE version mismatch: #{MIS}" unless MIS.empty?}' \ + -e '(MIS.delete(ARGF.path); ARGF.close) if /ONIG_UNICODE_VERSION_STRING +"#{Regexp.quote(VERSION)}"/o' \ $(UNICODE_VERSION) $(UNICODE_DATA_HEADERS) $(Q)$(BOOTSTRAPRUBY) $(srcdir)/tool/mkconfig.rb \ -arch=$(arch) -version=$(RUBY_PROGRAM_VERSION) \ diff --git a/tool/colorize.rb b/tool/colorize.rb index 1cbbeef543..92076b9928 100644 --- a/tool/colorize.rb +++ b/tool/colorize.rb @@ -4,7 +4,7 @@ class Colorize def initialize(color = nil) @colors = @reset = nil if color or (color == nil && STDOUT.tty?) - if (/\A\e\[.*m\z/ =~ IO.popen("tput smso", "r", err: IO::NULL, &:read) rescue nil) + if (/\A\e\[.*m\z/ =~ IO.popen("tput smso", "r", :err => IO::NULL, &:read) rescue nil) @beg = "\e[" @colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w+)=([^:\n]*)/)] : {} @reset = "#{@beg}m" diff --git a/tool/downloader.rb b/tool/downloader.rb index f42f9a0ef1..6e03f3b5a3 100644 --- a/tool/downloader.rb +++ b/tool/downloader.rb @@ -1,4 +1,4 @@ -# Used by configure and make to download or update mirrored Ruby and GCC +#6 Used by configure and make to download or update mirrored Ruby and GCC # files. This will use HTTPS if possible, falling back to HTTP. require 'fileutils' @@ -173,7 +173,7 @@ class Downloader if cache_save save_cache(cache, file, name) end - return file.to_path + return file.respond_to?(:to_path) ? file.to_path : file.to_s end if dryrun puts "Download #{url} into #{file}" diff --git a/tool/generic_erb.rb b/tool/generic_erb.rb index 3904b570c4..456a8e138b 100644 --- a/tool/generic_erb.rb +++ b/tool/generic_erb.rb @@ -33,8 +33,9 @@ unchanged = color.pass("unchanged") updated = color.fail("updated") result = templates.map do |template| - if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+ - erb = ERB.new(File.read(template), trim_mode: '%-') + method = ERB.instance_method(:initialize) + if method.respond_to?(:parameters) && method.parameters.assoc(:key) # Ruby 2.6+ + erb = ERB.new(File.read(template), :trim_mode => '%-') else erb = ERB.new(File.read(template), nil, '%-') end