Support Perl/CPAN external dependencies

WhoHas requires LWP::UserAgent.
This commit is contained in:
Max Howell 2010-01-13 11:53:57 +00:00
parent 9f871c9955
commit df3cca94e1

View File

@ -20,6 +20,7 @@ class FormulaInstaller
end end
deps deps
end end
def pyerr dep def pyerr dep
brew_pip = ' brew install pip &&' unless Formula.factory('pip').installed? brew_pip = ' brew install pip &&' unless Formula.factory('pip').installed?
<<-EOS <<-EOS
@ -30,11 +31,24 @@ Homebrew does not provide formula for Python dependencies, pip does:
EOS EOS
end end
def plerr dep; <<-EOS
Unsatisfied dependency, #{dep}
Homebrew does not provide formula for Perl dependencies, cpan does:
cpan -i #{dep}
EOS
end
def check_external_deps f def check_external_deps f
return unless f.external_deps
f.external_deps[:python].each do |dep| f.external_deps[:python].each do |dep|
raise pyerr(dep) unless quiet_system "/usr/bin/python", "-c", "import #{dep}" raise pyerr(dep) unless quiet_system "/usr/bin/python", "-c", "import #{dep}"
end if f.external_deps end
f.external_deps[:perl].each do |dep|
raise plerr(dep) unless quiet_system "/usr/bin/perl", "-e", "use #{dep}"
end
end end
def install f def install f