diff options
| -rw-r--r-- | Library/Homebrew/requirements/python_dependency.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Library/Homebrew/requirements/python_dependency.rb b/Library/Homebrew/requirements/python_dependency.rb index 1fb0730da..3e6206857 100644 --- a/Library/Homebrew/requirements/python_dependency.rb +++ b/Library/Homebrew/requirements/python_dependency.rb @@ -16,6 +16,7 @@ require 'requirement' class PythonInstalled < Requirement attr_reader :min_version attr_reader :if3then3 + attr_reader :imports attr_accessor :site_packages attr_accessor :binary # The python.rb formula needs to set the binary @@ -342,15 +343,14 @@ class PythonInstalled < Requirement binary.to_s end + # Objects of this class are used to represent dependencies on Python and + # dependencies on Python modules, so the combination of name + imports is + # enough to identify them uniquely. def eql?(other) - instance_of?(other.class) && hash == other.hash + instance_of?(other.class) && name == other.name && imports == other.imports end def hash - # Requirements are a ComparableSet. So we define our identity by the - # selected python binary plus the @imports in order to support multiple: - # depends_on :python => 'module1' - # depends_on :python => 'module2' - (binary.to_s+@imports.to_s).hash + [name, *imports].hash end end |
