From dc1f58dead922ceb5efae8c5cff6a1f67219f436 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Thu, 11 Dec 2014 21:00:46 +0000 Subject: [PATCH] unsigned_kext: use binary and cask options now. --- .../requirements/unsigned_kext_requirement.rb | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/Library/Homebrew/requirements/unsigned_kext_requirement.rb b/Library/Homebrew/requirements/unsigned_kext_requirement.rb index 440684773e..3f5704847d 100644 --- a/Library/Homebrew/requirements/unsigned_kext_requirement.rb +++ b/Library/Homebrew/requirements/unsigned_kext_requirement.rb @@ -5,12 +5,35 @@ class UnsignedKextRequirement < Requirement satisfy { MacOS.version < :yosemite } + def initialize(tags=[]) + tags.each do |tag| + next unless tag.is_a? Hash + @binary ||= tag[:binary] + @cask ||= tag[:cask] + end + super + end + def message - <<-EOS.undent - OS X Mavericks or older is required for this package. - OS X Yosemite introduced a strict unsigned kext ban which breaks this package. - You should remove this package from your system and attempt to find upstream - binaries to use instead. + s = <<-EOS.undent + Building this formula from source isn't possible due to OS X + Yosemite and above's strict unsigned kext ban. EOS + + if @cask + s += <<-EOS.undent + + You can install from Homebrew Cask: + brew install Caskroom/cask/#{@cask} + EOS + end + + if @binary + s += <<-EOS.undent + + You can use the upstream binary: + #{@binary} + EOS + end end end