diff --git a/src/package.cr b/src/package.cr index acf9731..0f813ae 100644 --- a/src/package.cr +++ b/src/package.cr @@ -25,7 +25,7 @@ class Package::Package inherit url : String? inherit description : String - inherit dependencies : Array(String) + setter dependencies : Array(String)? inherit conflicts : Array(String) inherit provides : Array(String) @@ -35,6 +35,10 @@ class Package::Package @fake_root_directory : String? + def dependencies + @dependencies || @recipe.run_dependencies + end + def fake_root_directory @fake_root_directory || "#{recipe.working_directory}/root-#{name}" end diff --git a/src/recipe.cr b/src/recipe.cr index 82257a3..5fcc846 100644 --- a/src/recipe.cr +++ b/src/recipe.cr @@ -101,7 +101,8 @@ class Package::Recipe # Relations to other packages. # FIXME: `dependencies` needs splitting between run-time and build-time. - getter dependencies = Array(String).new + getter run_dependencies = Array(String).new + getter build_dependencies = Array(String).new getter provides = Array(String).new getter conflicts = Array(String).new @@ -164,7 +165,16 @@ class Package::Recipe @instructions.install << value.as_s_or_ls when "dependencies" value.as_a_or_s.each do |atom| - @dependencies << atom + @run_dependencies << atom + @build_dependencies << atom + end + when "build-dependencies" + value.as_a_or_s.each do |atom| + @build_dependencies << atom + end + when "run-dependencies" + value.as_a_or_s.each do |atom| + @run_dependencies << atom end when "conflicts" value.as_a_or_s.each do |atom|