class Pkgman::Builds::Source

Attributes

build[R]

Public Class Methods

new(build, target) click to toggle source
# File lib/pkgman/builds/source.rb, line 7
def initialize(build, target)
  @build = build
  @target = target
end

Public Instance Methods

path() click to toggle source
# File lib/pkgman/builds/source.rb, line 39
def path
  '/tmp/compiled'
end
start() click to toggle source
# File lib/pkgman/builds/source.rb, line 12
def start
  @target.execute("curl -o source.tar.gz #{build['source']}", '/tmp/src')
  @target.execute('tar -xf source.tar.gz', '/tmp/src')

  unless build['source-directory']
    uri = URI(build['source'])

    build['source-directory'] = File.basename(uri.path, ".*")
    if build['source-directory'].end_with?('.tar')
      build['source-directory'] = File.basename(build['source-directory'], ".tar")
    end
  end

  build['configure'] ||= []
  unless build['configure'].find { |it| it.start_with?('--prefix=') }
    build['configure'] << '--prefix=/usr'
  end

  dir = "/tmp/src/#{build['source-directory']}"
  @target.execute("./configure #{build['configure'].join(' ')}", dir)
  @target.execute('make install DESTDIR=/tmp/compiled', dir)
end
type() click to toggle source
# File lib/pkgman/builds/source.rb, line 35
def type
  'dir'
end