From 5c6a12e5b77c4aeedd54df8d5449d432fb130025 Mon Sep 17 00:00:00 2001 From: EricFromCanada Date: Sat, 7 Nov 2020 11:00:41 -0500 Subject: [PATCH] requirements: allow `depends_on arch: :arm64` --- Library/Homebrew/requirements/arch_requirement.rb | 1 + .../test/requirements/arch_requirement_spec.rb | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 Library/Homebrew/test/requirements/arch_requirement_spec.rb diff --git a/Library/Homebrew/requirements/arch_requirement.rb b/Library/Homebrew/requirements/arch_requirement.rb index e05e71645e..ec6a213174 100644 --- a/Library/Homebrew/requirements/arch_requirement.rb +++ b/Library/Homebrew/requirements/arch_requirement.rb @@ -19,6 +19,7 @@ class ArchRequirement < Requirement satisfy(build_env: false) do case @arch when :x86_64 then Hardware::CPU.intel? && Hardware::CPU.is_64_bit? + when :arm64 then Hardware::CPU.arm? && Hardware::CPU.is_64_bit? when :arm, :intel, :ppc then Hardware::CPU.type == @arch end end diff --git a/Library/Homebrew/test/requirements/arch_requirement_spec.rb b/Library/Homebrew/test/requirements/arch_requirement_spec.rb new file mode 100644 index 0000000000..0eb369c07c --- /dev/null +++ b/Library/Homebrew/test/requirements/arch_requirement_spec.rb @@ -0,0 +1,14 @@ +# typed: false +# frozen_string_literal: true + +require "requirements/arch_requirement" + +describe ArchRequirement do + subject(:requirement) { described_class.new([Hardware::CPU.type]) } + + describe "#satisfied?" do + it "supports architecture symbols" do + expect(requirement).to be_satisfied + end + end +end