diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 6812b905f4..4ef03f4a81 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -1772,7 +1772,7 @@ class Formula "name" => req.name, "cask" => req.cask, "download" => req.download, - "version" => req.try(:version), + "version" => req.try(:version) || req.try(:arch), "contexts" => req.tags, } end diff --git a/Library/Homebrew/requirements/arch_requirement.rb b/Library/Homebrew/requirements/arch_requirement.rb index d4499ee065..8a9dc636a4 100644 --- a/Library/Homebrew/requirements/arch_requirement.rb +++ b/Library/Homebrew/requirements/arch_requirement.rb @@ -9,6 +9,8 @@ require "requirement" class ArchRequirement < Requirement fatal true + attr_reader :arch + def initialize(tags) @arch = tags.shift super(tags) @@ -16,8 +18,8 @@ class ArchRequirement < Requirement satisfy(build_env: false) do case @arch - when :x86_64 then Hardware::CPU.is_64_bit? - when :intel, :ppc then Hardware::CPU.type == @arch + when :x86_64 then Hardware::CPU.intel? && Hardware::CPU.is_64_bit? + when :arm, :intel, :ppc then Hardware::CPU.type == @arch end end