class PkgForge::DSL::Forge

Add build method to Forge DSL

Add cflag options to Forge DSL

Add configure flag options to Forge DSL

Add dep methods to Forge DSL

Add dir methods to Forge DSL

Add metadata methods to Forge DSL

Add package methods to Forge DSL

Add patch methods to Forge DSL

Add source methods to Forge DSL

Add test methods to Forge DSL

Add upload methods to Forge DSL

Constants

ALL_HARDEN_OPTS

Shamelessly sourced from: blog.mayflower.de/5800-Hardening-Compiler-Flags-for-NixOS.html developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/ wiki.debian.org/Hardening

Public Instance Methods

build(&block) click to toggle source
# File lib/pkgforge/components/build.rb, line 29
def build(&block)
  @forge.build_block = block
  nil
end
cflags(value = nil) click to toggle source
# File lib/pkgforge/components/cflags.rb, line 23
def cflags(value = nil)
  default = '-I%<dep>s/usr/include -L%<dep>s/usr/lib'
  value ||= @forge.deps.map { |x, _| format(default, dep: dep(x)).split }
  @forge.cflags += value.flatten
  nil
end
configure_flags(value) click to toggle source
# File lib/pkgforge/components/configure.rb, line 18
def configure_flags(value)
  @forge.configure_flags = value
  nil
end
dep(dep_name) click to toggle source
# File lib/pkgforge/components/dirs.rb, line 36
def dep(dep_name)
  @forge.dep(dep_name)
end
deps(value) click to toggle source
# File lib/pkgforge/components/deps.rb, line 98
def deps(value)
  value = value.map { |k, v| [k, v.is_a?(Hash) ? v : { version: v }] }
  @forge.deps = Hash[value]
  nil
end
endpoint(value) click to toggle source
# File lib/pkgforge/components/upload.rb, line 57
def endpoint(value)
  @forge.endpoint = value
  nil
end
harden(list = []) click to toggle source
# File lib/pkgforge/components/cflags.rb, line 60
def harden(list = [])
  harden_opts = ALL_HARDEN_OPTS.reject { |k, _| list.include? k.to_s }
  @forge.cflags += harden_opts.values.flatten
  nil
end
libs(value = nil) click to toggle source
# File lib/pkgforge/components/cflags.rb, line 31
def libs(value = nil)
  value ||= @forge.deps.keys
  value.map! { |x| '-l' + x.to_s }
  @forge.libs += value
  nil
end
license(files)
Alias for: licenses
licenses(files) click to toggle source
# File lib/pkgforge/components/metadata.rb, line 55
def licenses(files)
  files = [files] unless files.is_a? Array
  @forge.licenses = files
  nil
end
Also aliased as: license
name(value) click to toggle source
# File lib/pkgforge/components/metadata.rb, line 43
def name(value)
  @forge.name = value
  nil
end
org(value) click to toggle source
# File lib/pkgforge/components/metadata.rb, line 49
def org(value)
  @forge.org = value
  nil
end
package(params) click to toggle source
# File lib/pkgforge/components/package.rb, line 71
def package(params)
  @forge.package = params
  nil
end
patch(file) click to toggle source
# File lib/pkgforge/components/patch.rb, line 31
def patch(file)
  @forge.patches << file
  nil
end
remove_linker_archives(value = true) click to toggle source
# File lib/pkgforge/components/deps.rb, line 105
def remove_linker_archives(value = true)
  @forge.remove_linker_archives = value
  nil
end
remove_pkgconfig_files(value = true) click to toggle source
# File lib/pkgforge/components/deps.rb, line 111
def remove_pkgconfig_files(value = true)
  @forge.remove_pkgconfig_files = value
  nil
end
source(params) click to toggle source
# File lib/pkgforge/components/source.rb, line 55
def source(params)
  @forge.source = params
  nil
end
test(&block) click to toggle source
# File lib/pkgforge/components/test.rb, line 70
def test(&block)
  @forge.test_block = block
  nil
end