perl_requirement: add

This commit is contained in:
Dominyk Tiller 2016-05-02 19:39:19 +01:00
parent 6fdcab5abc
commit e96bed6b6c
2 changed files with 29 additions and 0 deletions

View File

@ -6,6 +6,7 @@ require "requirements/minimum_macos_requirement"
require "requirements/maximum_macos_requirement"
require "requirements/mpi_requirement"
require "requirements/osxfuse_requirement"
require "requirements/perl_requirement"
require "requirements/python_requirement"
require "requirements/java_requirement"
require "requirements/ruby_requirement"

View File

@ -0,0 +1,28 @@
class PerlRequirement < Requirement
fatal true
default_formula "perl"
def initialize(tags)
@version = tags.shift if /^\d+\.\d+$/ === tags.first
raise "PerlRequirement requires a version!" unless @version
super
end
satisfy(:build_env => false) do
which_all("perl").detect do |perl|
perl_version = Utils.popen_read(perl, "--version")[/\(v(\d+\.\d+)(?:\.\d+)?\)/, 1]
next unless perl_version
Version.new(perl_version.to_s) >= Version.new(@version)
end
end
def message
s = "Perl #{@version} is required to install this formula."
s += super
s
end
def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
end
end