diff options
Diffstat (limited to 'Library/Homebrew/dependencies.rb')
| -rw-r--r-- | Library/Homebrew/dependencies.rb | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/Library/Homebrew/dependencies.rb b/Library/Homebrew/dependencies.rb index 5d5b5ab0d..7c2ff7d1b 100644 --- a/Library/Homebrew/dependencies.rb +++ b/Library/Homebrew/dependencies.rb @@ -21,7 +21,7 @@ class DependencyCollector def initialize @deps = Dependencies.new - @requirements = Set.new + @requirements = ComparableSet.new end def add spec @@ -196,6 +196,9 @@ end # This requirement is used to require an X11 implementation, # optionally with a minimum version number. class X11Dependency < Requirement + include Comparable + attr_reader :min_version + def initialize min_version=nil @min_version = min_version end @@ -217,9 +220,20 @@ class X11Dependency < Requirement ENV.x11 end - def hash - "X11".hash + def <=> other + unless other.is_a? X11Dependency + raise TypeError, "expected X11Dependency" + end + + if other.min_version.nil? + 1 + elsif @min_version.nil? + -1 + else + @min_version <=> other.min_version + end end + end |
