class PkgForge::DSL::Build
Add build 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