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

Version Path
debase-ruby_core_source-0.7.5 Rakefile
debase-ruby_core_source-0.7.4 Rakefile
debase-ruby_core_source-0.7.3 Rakefile
debase-ruby_core_source-0.7.2 Rakefile
debase-ruby_core_source-0.7.1 Rakefile
debase-ruby_core_source-0.6.0 Rakefile