From 9bd77b18197ecf5e3b4d048fb2452d7be474ee13 Mon Sep 17 00:00:00 2001 From: EricFromCanada Date: Tue, 17 Sep 2019 18:10:02 -0400 Subject: [PATCH] formula API: expose uses_from_macos list --- Library/Homebrew/extend/os/mac/software_spec.rb | 8 +++++++- Library/Homebrew/formula.rb | 5 +++++ Library/Homebrew/software_spec.rb | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/extend/os/mac/software_spec.rb b/Library/Homebrew/extend/os/mac/software_spec.rb index 970a1aa94e..3e1dfd1c1b 100644 --- a/Library/Homebrew/extend/os/mac/software_spec.rb +++ b/Library/Homebrew/extend/os/mac/software_spec.rb @@ -4,12 +4,18 @@ class SoftwareSpec undef uses_from_macos def uses_from_macos(deps, **args) + @uses_from_macos_elements ||= [] + if deps.is_a?(Hash) args = deps deps = Hash[*args.shift] end - depends_on(deps) if add_mac_dependency?(args) + if add_mac_dependency?(args) + depends_on(deps) + else + @uses_from_macos_elements << deps + end end private diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 3e22bd8d11..047c4271b1 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -428,6 +428,9 @@ class Formula # The {Dependency}s for the currently active {SoftwareSpec}. delegate deps: :active_spec + # Dependencies provided by macOS for the currently active {SoftwareSpec}. + delegate uses_from_macos_elements: :active_spec + # The {Requirement}s for the currently active {SoftwareSpec}. delegate requirements: :active_spec @@ -1589,6 +1592,7 @@ class Formula # @private def to_hash dependencies = deps + uses_from_macos = uses_from_macos_elements || [] hsh = { "name" => name, @@ -1624,6 +1628,7 @@ class Formula "optional_dependencies" => dependencies.select(&:optional?) .map(&:name) .uniq, + "uses_from_macos" => uses_from_macos.uniq, "requirements" => [], "conflicts_with" => conflicts.map(&:name), "caveats" => caveats&.gsub(HOMEBREW_PREFIX, "$(brew --prefix)"), diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb index fb2d8646ba..5beee67ca7 100644 --- a/Library/Homebrew/software_spec.rb +++ b/Library/Homebrew/software_spec.rb @@ -26,6 +26,7 @@ class SoftwareSpec attr_reader :dependency_collector attr_reader :bottle_specification attr_reader :compiler_failures + attr_reader :uses_from_macos_elements def_delegators :@resource, :stage, :fetch, :verify_download_integrity, :source_modified_time def_delegators :@resource, :download_name, :cached_download, :clear_cache