class PkgForge::DSL::Forge
Add cflag options to Forge
DSL
Add configure flag options to Forge
DSL
Add metadata methods to Forge
DSL
Add package methods to Forge
DSL
Add patch 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
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