diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb index 92450a771b..cfbb066954 100644 --- a/Library/Homebrew/dependency_collector.rb +++ b/Library/Homebrew/dependency_collector.rb @@ -89,6 +89,7 @@ private when :postgresql then PostgresqlDependency.new(tag) when :tex then TeXDependency.new(tag) when :clt then CLTDependency.new(tag) + when :arch then ArchRequirement.new(tag) else raise "Unsupported special dependency #{spec}" end diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb index 1f58e6b0ad..988a0a6c0f 100644 --- a/Library/Homebrew/requirements.rb +++ b/Library/Homebrew/requirements.rb @@ -334,3 +334,23 @@ class CLTDependency < Requirement EOS end end + +class ArchRequirement < Requirement + fatal true + + def initialize(arch) + @arch = arch + super + end + + satisfy do + case @arch + when :x86_64 then MacOS.prefer_64_bit? + end + end + + def message; <<-EOS.undent + This formula requires an #{@arch} architecture. + EOS + end +end