Add, use uses_from_macos_names.
This strips e.g. `:build` tags.
This commit is contained in:
parent
3e15023269
commit
b622c36be6
@ -487,6 +487,9 @@ class Formula
|
||||
# Dependencies provided by macOS for the currently active {SoftwareSpec}.
|
||||
delegate uses_from_macos_elements: :active_spec
|
||||
|
||||
# Dependency names provided by macOS for the currently active {SoftwareSpec}.
|
||||
delegate uses_from_macos_names: :active_spec
|
||||
|
||||
# The {Requirement}s for the currently active {SoftwareSpec}.
|
||||
delegate requirements: :active_spec
|
||||
|
||||
|
@ -264,7 +264,7 @@ module Homebrew
|
||||
next unless @core_tap
|
||||
|
||||
# we want to allow uses_from_macos for aliases but not bare dependencies
|
||||
if self.class.aliases.include?(dep.name) && spec.uses_from_macos_elements.exclude?(dep.name)
|
||||
if self.class.aliases.include?(dep.name) && spec.uses_from_macos_names.exclude?(dep.name)
|
||||
problem "Dependency '#{dep.name}' is an alias; use the canonical name '#{dep.to_formula.full_name}'."
|
||||
end
|
||||
|
||||
|
@ -13,7 +13,7 @@ module Language
|
||||
def detected_perl_shebang(formula = self)
|
||||
perl_path = if formula.deps.map(&:name).include? "perl"
|
||||
Formula["perl"].opt_bin/"perl"
|
||||
elsif formula.uses_from_macos_elements.include? "perl"
|
||||
elsif formula.uses_from_macos_names.include? "perl"
|
||||
"/usr/bin/perl#{MacOS.preferred_perl_version}"
|
||||
else
|
||||
raise ShebangDetectionError.new("Perl", "formula does not depend on Perl")
|
||||
|
@ -186,6 +186,10 @@ class SoftwareSpec
|
||||
depends_on(spec)
|
||||
end
|
||||
|
||||
def uses_from_macos_names
|
||||
uses_from_macos_elements.flat_map { |e| e.is_a?(Hash) ? e.keys : e }
|
||||
end
|
||||
|
||||
def deps
|
||||
dependency_collector.deps
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user