diff options
| author | Samuel John | 2013-07-16 11:04:57 +0200 |
|---|---|---|
| committer | Samuel John | 2013-07-16 11:04:57 +0200 |
| commit | 606749c0debfdf2f18f6bbbc681e17092e3781f7 (patch) | |
| tree | 6c29984b4ee0b2f7d8c1384855c2bc8051bae37a /Library/Homebrew/requirements/python_dependency.rb | |
| parent | 9b1b92e7feaa67249d2c81bc6e3609ab2b62ae54 (diff) | |
| download | homebrew-606749c0debfdf2f18f6bbbc681e17092e3781f7.tar.bz2 | |
Allow specifying version in depends_on :python
Note, in the explict form:
PythonInstalled.new('2.7') => :recommended
the tag :recommended is ignored (not a limitation
of PythonInstalled itself). One solution was to write
PythonInstalled.new('2.7', [:recommended])
but that is not as beautiful as we like it.
Therefore, now it is possible to:
depends_on :python => ['2.7', :recommended]
Only the first tag is attempted to be parsed as
a version specifyer "x" or "x.y" or "x.y.z"...
Diffstat (limited to 'Library/Homebrew/requirements/python_dependency.rb')
| -rw-r--r-- | Library/Homebrew/requirements/python_dependency.rb | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Library/Homebrew/requirements/python_dependency.rb b/Library/Homebrew/requirements/python_dependency.rb index 0c182b66b..3130d1c77 100644 --- a/Library/Homebrew/requirements/python_dependency.rb +++ b/Library/Homebrew/requirements/python_dependency.rb @@ -31,15 +31,16 @@ class PythonInstalled < Requirement end end - def initialize(version="2.6", *tags ) - # Extract the min_version if given. Default to python 2.X else - if /(\d+\.)*\d+/ === version.to_s - @min_version = PythonVersion.new(version) + def initialize(default_version="2.6", tags=[] ) + tags = [tags].flatten + # Extract the min_version if given. Default to default_version else + if /(\d+\.)*\d+/ === tags.first.to_s + @min_version = PythonVersion.new(tags.shift) else - raise "Invalid version specification for Python: '#{version}'" + @min_version = PythonVersion.new(default_version) end - # often used idiom: e.g. sipdir = "share/sip" + python.if3then3 + # often used idiom: e.g. sipdir = "share/sip#{python.if3then3}" if @min_version.major == 3 @if3then3 = "3" else @@ -56,7 +57,7 @@ class PythonInstalled < Requirement @imports = {} tags.each do |tag| if tag.kind_of? String - @imports[tag] = tag + @imports[tag] = tag # if the module name is the same as the PyPi name elsif tag.kind_of? Hash @imports.merge!(tag) end |
