module Bindeps

Constants

VERSION

Public Class Methods

missing(dependencies) click to toggle source

Check whether all dependencies are installed. Return an array of missing dependencies.

# File lib/bindeps.rb, line 37
def self.missing dependencies
  if dependencies.is_a? String
    dependencies = YAML.load_file dependencies
  end
  missing = []
  Dir.mktmpdir do |tmpdir|
    Dir.chdir(tmpdir) do
      dependencies.each_pair do |name, config|
        unpack = config.key?('unpack') ? config['unpack'] : true;
        libraries = config.key?('libraries') ? config['libraries'] : []
        d = Dependency.new(name,
                           config['binaries'],
                           config['version'],
                           config['url'],
                           unpack,
                           libraries)
        missing << d unless d.all_installed?
      end
    end
  end
  missing
end
require(dependencies, destdir = '') click to toggle source
# File lib/bindeps.rb, line 13
def self.require(dependencies, destdir = '')
  destdir = File.expand_path destdir unless destdir.empty?
  if dependencies.is_a? String
    dependencies = YAML.load_file dependencies
  end
  Dir.mktmpdir do |tmpdir|
    Dir.chdir(tmpdir) do
      dependencies.each_pair do |name, config|
        unpack = config.key?('unpack') ? config['unpack'] : true;
        libraries = config.key?('libraries') ? config['libraries'] : []
        d = Dependency.new(name,
                           config['binaries'],
                           config['version'],
                           config['url'],
                           unpack,
                           libraries)
        d.install_missing destdir
      end
    end
  end
end