Module: Bindeps

Defined in:
lib/bindeps.rb,
lib/bindeps/version.rb

Defined Under Namespace

Classes: Dependency, DownloadFailedError, System, UnsupportedSystemError

Constant Summary collapse

VERSION =
"1.2.0"

Class Method Summary collapse

Class Method Details

.missing(dependencies) ⇒ Object

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



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/bindeps.rb', line 36

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 = '') ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/bindeps.rb', line 13

def self.require(dependencies, destdir = '')
  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