From df3cca94e18ca206fd3bec9a83e451ca1dae8298 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Wed, 13 Jan 2010 11:53:57 +0000 Subject: [PATCH] Support Perl/CPAN external dependencies WhoHas requires LWP::UserAgent. --- Library/Homebrew/formula_installer.rb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index efa84e0fff..3c94602e2d 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -20,6 +20,7 @@ class FormulaInstaller end deps end + def pyerr dep brew_pip = ' brew install pip &&' unless Formula.factory('pip').installed? <<-EOS @@ -30,11 +31,24 @@ Homebrew does not provide formula for Python dependencies, pip does: EOS 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 + return unless f.external_deps + f.external_deps[:python].each do |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 def install f