Sha256: 002e74f2da188141f10d1fe6ea059d6255054006c1e25650d7334fa83d39f1f9
Contents?: true
Size: 1.65 KB
Versions: 1
Compression:
Stored size: 1.65 KB
Contents
#!/usr/bin/env ruby ENV["GEM_HOME"] = File.expand_path("../../vendor/gems", __FILE__) ENV["GEM_PATH"] = File.expand_path("../../vendor/gems", __FILE__) require "rubygems" id = ARGV.shift require "couchrest" require "fileutils" require "tmpdir" require "rest_client" db = CouchRest.database!(ENV["CLOUDANT_URL"] + "/make") Dir.mktmpdir do |dir| Dir.chdir(dir) do doc = db.get(id) command = doc["command"] prefix = doc["prefix"] deps = doc["deps"] || "" File.open("input.tgz", "wb") do |file| file.print doc.fetch_attachment("input") end deps.split(",").each_with_index do |dep, index| puts "downloading #{dep}" File.open("dep_#{index}.tgz", "wb") do |file| begin file.print RestClient.get(dep) rescue Exception => ex puts ex.inspect end end end FileUtils.mkdir_p "deps" Dir.chdir("deps") do deps.split(",").each_with_index do |dep, index| %x{ tar xzf ../dep_#{index}.tgz 2>&1 } end end unless deps.empty? ENV["LDFLAGS"] ||= "" ENV["LDFLAGS"] += " -L%s/deps/lib" % dir ENV["CFLAGS"] ||= "" ENV["CFLAGS"] += " -I%s/deps/include" % dir ENV["CXXFLAGS"] ||= "" ENV["CXXFLAGS"] += " -I%s/deps/include" % dir end FileUtils.mkdir_p "input" Dir.chdir("input") do %x{ tar xzf ../input.tgz 2>&1 } system command end Dir.chdir(prefix) do %x{ tar czf #{dir}/output.tgz * 2>&1 } end begin doc.put_attachment("output", File.open("#{dir}/output.tgz")) rescue RestClient::Conflict # temporarily work around problem with bigcouch end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vulcan-0.5.0 | server/bin/make |