Merge pull request #14621 from Bo98/api-uses_from_macos-fix
formulary: fix uses_from_macos handling on macOS
This commit is contained in:
commit
70db4bc723
@ -194,14 +194,14 @@ module Formulary
|
|||||||
end
|
end
|
||||||
|
|
||||||
json_formula["dependencies"].each do |dep|
|
json_formula["dependencies"].each do |dep|
|
||||||
next if uses_from_macos_names.include? dep
|
next if uses_from_macos_names.include?(dep) && !Homebrew::SimulateSystem.simulating_or_running_on_macos?
|
||||||
|
|
||||||
depends_on dep
|
depends_on dep
|
||||||
end
|
end
|
||||||
|
|
||||||
[:build, :test, :recommended, :optional].each do |type|
|
[:build, :test, :recommended, :optional].each do |type|
|
||||||
json_formula["#{type}_dependencies"].each do |dep|
|
json_formula["#{type}_dependencies"].each do |dep|
|
||||||
next if uses_from_macos_names.include? dep
|
next if uses_from_macos_names.include?(dep) && !Homebrew::SimulateSystem.simulating_or_running_on_macos?
|
||||||
|
|
||||||
depends_on dep => type
|
depends_on dep => type
|
||||||
end
|
end
|
||||||
|
@ -273,6 +273,16 @@ describe Formulary do
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
let(:older_macos_variations_json) do
|
||||||
|
{
|
||||||
|
"variations" => {
|
||||||
|
Utils::Bottles.tag.to_s => {
|
||||||
|
"dependencies" => ["uses_from_macos_dep"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
let(:linux_variations_json) do
|
let(:linux_variations_json) do
|
||||||
{
|
{
|
||||||
"variations" => {
|
"variations" => {
|
||||||
@ -338,6 +348,7 @@ describe Formulary do
|
|||||||
expect(formula).to be_a(Formula)
|
expect(formula).to be_a(Formula)
|
||||||
expect(formula.deps.count).to eq 6
|
expect(formula.deps.count).to eq 6
|
||||||
expect(formula.deps.map(&:name).include?("variations_dep")).to be true
|
expect(formula.deps.map(&:name).include?("variations_dep")).to be true
|
||||||
|
expect(formula.deps.map(&:name).include?("uses_from_macos_dep")).to be false
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns a Formula without duplicated deps and uses_from_macos with variations on Linux", :needs_linux do
|
it "returns a Formula without duplicated deps and uses_from_macos with variations on Linux", :needs_linux do
|
||||||
@ -349,6 +360,16 @@ describe Formulary do
|
|||||||
expect(formula.deps.count).to eq 6
|
expect(formula.deps.count).to eq 6
|
||||||
expect(formula.deps.map(&:name).include?("uses_from_macos_dep")).to be true
|
expect(formula.deps.map(&:name).include?("uses_from_macos_dep")).to be true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "returns a Formula with the correct uses_from_macos dep on older macOS", :needs_macos do
|
||||||
|
allow(Homebrew::API::Formula)
|
||||||
|
.to receive(:all_formulae).and_return formula_json_contents(older_macos_variations_json)
|
||||||
|
|
||||||
|
formula = described_class.factory(formula_name)
|
||||||
|
expect(formula).to be_a(Formula)
|
||||||
|
expect(formula.deps.count).to eq 5
|
||||||
|
expect(formula.deps.map(&:name).include?("uses_from_macos_dep")).to be true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user