From 1958bd9df656d0a33d035a95a433589ec0c0b713 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Wed, 13 Jan 2010 11:53:57 +0000 Subject: Support Perl/CPAN external dependencies WhoHas requires LWP::UserAgent. --- Library/Formula/whohas.rb | 2 ++ Library/Homebrew/formula_installer.rb | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'Library') diff --git a/Library/Formula/whohas.rb b/Library/Formula/whohas.rb index 2749555da..336f944a1 100644 --- a/Library/Formula/whohas.rb +++ b/Library/Formula/whohas.rb @@ -4,6 +4,8 @@ class Whohas :perl def install bin.install 'program/whohas' diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index efa84e0ff..3c94602e2 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 -- cgit v1.2.3