More metadata available to Recipe and Package.
This commit is contained in:
parent
e6645e4f3d
commit
3d08c7ecff
@ -16,6 +16,10 @@ Context.new().tap do |context|
|
|||||||
#recipe.instructions.build << "cd hello-#{recipe.version} && make"
|
#recipe.instructions.build << "cd hello-#{recipe.version} && make"
|
||||||
recipe.instructions.install << "cd hello-#{recipe.version} && make DESTDIR='${PKG}' install"
|
recipe.instructions.install << "cd hello-#{recipe.version} && make DESTDIR='${PKG}' install"
|
||||||
|
|
||||||
|
recipe.url = "https://www.gnu.org/software/hello/"
|
||||||
|
recipe.description = "The GNU Hello program produces a familiar, friendly greeting."
|
||||||
|
recipe.dependencies << "gettext"
|
||||||
|
|
||||||
recipe.download
|
recipe.download
|
||||||
recipe.extract
|
recipe.extract
|
||||||
|
|
||||||
|
@ -11,10 +11,22 @@ class Package::Package
|
|||||||
def {{attribute.var.id}} : {{attribute.type.id}}
|
def {{attribute.var.id}} : {{attribute.type.id}}
|
||||||
@{{attribute.var.id}} || @recipe.{{attribute.var.id}}
|
@{{attribute.var.id}} || @recipe.{{attribute.var.id}}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def {{attribute.var.id}}=(new_value : {{attribute.type.id}})
|
||||||
|
@{{attribute.var.id}} = new_value
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
inherit name : String
|
inherit name : String
|
||||||
inherit version : String
|
inherit version : String
|
||||||
|
inherit release : Int32
|
||||||
|
|
||||||
|
inherit url : String?
|
||||||
|
inherit description : String
|
||||||
|
|
||||||
|
inherit dependencies : Array(String)
|
||||||
|
inherit conflicts : Array(String)
|
||||||
|
inherit provides : Array(String)
|
||||||
|
|
||||||
# Internals
|
# Internals
|
||||||
inherit fake_root_directory : String
|
inherit fake_root_directory : String
|
||||||
|
@ -18,14 +18,32 @@ end
|
|||||||
class Package::Recipe
|
class Package::Recipe
|
||||||
@context : Context
|
@context : Context
|
||||||
|
|
||||||
|
# Core recipe informations.
|
||||||
getter name : String
|
getter name : String
|
||||||
getter version : String
|
getter version : String
|
||||||
getter dirname : String?
|
getter release = 1
|
||||||
|
|
||||||
|
property url : String?
|
||||||
|
property description : String = ""
|
||||||
|
|
||||||
|
# Informations not specific to individual packages.
|
||||||
getter sources : Sources
|
getter sources : Sources
|
||||||
getter packages : Array(Package)
|
getter packages : Array(Package)
|
||||||
|
|
||||||
|
property packager : String?
|
||||||
|
property maintainer : String?
|
||||||
|
getter contributors = Array(String).new
|
||||||
|
|
||||||
|
# Relations to other packages.
|
||||||
|
# FIXME: `dependencies` needs splitting between run-time and build-time.
|
||||||
|
getter dependencies = Array(String).new
|
||||||
|
getter provides = Array(String).new
|
||||||
|
getter conflicts = Array(String).new
|
||||||
|
|
||||||
|
# Build instructions, helpers and other build-only data.
|
||||||
|
setter dirname : String? # matching getter defined manually later.
|
||||||
getter instructions = Instructions.new
|
getter instructions = Instructions.new
|
||||||
|
|
||||||
def initialize(@context, @name, @version)
|
def initialize(@context, @name, @version)
|
||||||
@sources = Sources.new
|
@sources = Sources.new
|
||||||
@packages = [] of Package
|
@packages = [] of Package
|
||||||
|
Reference in New Issue
Block a user