class PkgForge::DSL::Build

Add build methods to Build DSL

Add configure flag options to Build DSL

Add dir methods to Build DSL

Add patch methods to Build DSL

Public Instance Methods

configure(env = {}) click to toggle source
# File lib/pkgforge/components/build.rb, line 44
def configure(env = {})
  run ['./configure'] + configure_flag_strings, default_env.merge(env)
end
configure_flag_strings() click to toggle source
# File lib/pkgforge/components/configure.rb, line 28
def configure_flag_strings
  @forge.configure_flags.map do |flag, value|
    "--#{flag}#{'=' if value}#{value}"
  end
end
cp(src, dest = nil) click to toggle source
# File lib/pkgforge/components/build.rb, line 67
def cp(src, dest = nil)
  dest ||= src
  dest = File.join(releasedir, dest)
  src = File.join(tmpdir(:build), src)
  dest_dir = File.dirname dest
  FileUtils.mkdir_p dest_dir
  FileUtils.cp_r src, dest
  nil
end
default_env() click to toggle source
# File lib/pkgforge/components/build.rb, line 78
def default_env
  {
    'CC' => 'musl-gcc',
    'CFLAGS' => @forge.cflags.join(' '),
    'LIBS' => @forge.libs.join(' ')
  }
end
dep(package) click to toggle source
# File lib/pkgforge/components/dirs.rb, line 50
def dep(package)
  @forge.tmpdir(package.to_sym)
end
install(env = {}) click to toggle source
# File lib/pkgforge/components/build.rb, line 54
def install(env = {})
  run "make DESTDIR=#{@forge.releasedir} install", default_env.merge(env)
end
make(env = {}) click to toggle source
# File lib/pkgforge/components/build.rb, line 49
def make(env = {})
  run 'make', default_env.merge(env)
end
patch(file) click to toggle source
# File lib/pkgforge/components/patch.rb, line 41
def patch(file)
  @forge.run_patch(file)
end
releasedir() click to toggle source
# File lib/pkgforge/components/dirs.rb, line 45
def releasedir
  @forge.tmpdir(:release)
end
rm(paths) click to toggle source
# File lib/pkgforge/components/build.rb, line 59
def rm(paths)
  paths = [paths] if paths.is_a? String
  paths.map! { |x| File.join(@forge.releasedir, x) }
  FileUtils.rm_r paths
  nil
end
run(*args) click to toggle source
# File lib/pkgforge/components/build.rb, line 39
def run(*args)
  @forge.run(*args)
end
tmpdir(id) click to toggle source
# File lib/pkgforge/components/dirs.rb, line 55
def tmpdir(id)
  @forge.tmpdir(id)
end