From a7e330473545596abf2ec95b8214dda1ff98d5ef Mon Sep 17 00:00:00 2001 From: Gabriel Date: Wed, 22 May 2019 14:10:28 -0300 Subject: [PATCH] Extends Formula class with mac os #uses_from_macos --- Library/Homebrew/extend/os/formula.rb | 3 +++ Library/Homebrew/extend/os/mac/formula.rb | 19 +++++++++++++++++++ Library/Homebrew/formula.rb | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 Library/Homebrew/extend/os/formula.rb create mode 100644 Library/Homebrew/extend/os/mac/formula.rb diff --git a/Library/Homebrew/extend/os/formula.rb b/Library/Homebrew/extend/os/formula.rb new file mode 100644 index 0000000000..f1aadd7832 --- /dev/null +++ b/Library/Homebrew/extend/os/formula.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +require "extend/os/mac/formula" if OS.mac? diff --git a/Library/Homebrew/extend/os/mac/formula.rb b/Library/Homebrew/extend/os/mac/formula.rb new file mode 100644 index 0000000000..b32dba6477 --- /dev/null +++ b/Library/Homebrew/extend/os/mac/formula.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class Formula + class << self + def uses_from_macos(dep, **args) + depends_on(dep) if add_mac_dependency?(args) + end + + private + + def add_mac_dependency?(args) + args.each { |key, version| args[key] = OS::Mac::Version.from_symbol(version) } + + args.blank? || + args[:before] && OS::Mac.version < args[:before] || + args[:after] && OS::Mac.version >= args[:after] + end + end +end diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index ab4dc62fe1..2c7b3261fd 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -2566,3 +2566,5 @@ class Formula end end end + +require "extend/os/formula"