Sha256: ce83afa3b8a643f6bf170d0d8cd290535db110a149f546df6d95a9eefce6f9f8
Contents?: true
Size: 1.21 KB
Versions: 6
Compression:
Stored size: 1.21 KB
Contents
require 'tmpdir' require 'open-uri' require 'archive/tar/minitar' require 'zlib' require 'fileutils' require 'bundler' Bundler::GemHelper.install_tasks desc 'Add ruby headers under lib for a given VERSION' task :add_source do version = ENV['VERSION'] or abort "Need a $VERSION" ruby_dir = "ruby-#{version}" minor_version = version.split('.')[0..1].join('.') uri_path = "http://ftp.ruby-lang.org/pub/ruby/#{minor_version}/#{ruby_dir}.tar.gz" dest_dir = File.dirname(__FILE__) + "/lib/debase/ruby_core_source/#{ruby_dir}" if ENV['PATCHLEVEL'] dest_dir = dest_dir + "-p" + ENV['PATCHLEVEL'] end puts "Downloading #{uri_path}..." temp = open(uri_path) puts "Unpacking #{uri_path}..." tgz = Zlib::GzipReader.new(File.open(temp, "rb")) FileUtils.mkdir_p(dest_dir) Dir.mktmpdir do |dir| inc_dir = dir + "/" + ruby_dir + "/*.inc" hdr_dir = dir + "/" + ruby_dir + "/*.h" more_hdr_dir = dir + "/" + ruby_dir + "/ccan/**/*.h" Archive::Tar::Minitar.unpack(tgz, dir) Dir.glob([ inc_dir, hdr_dir, more_hdr_dir ]).each do |file| target = file.sub(dir + '/' + ruby_dir, dest_dir) FileUtils.mkdir_p(File.dirname(target)) FileUtils.cp(file, target, verbose: false) end end end
Version data entries
6 entries across 6 versions & 1 rubygems