From d315c98d44aa6efbca65e14dfcf9f8e6be9a2bee Mon Sep 17 00:00:00 2001 From: Peter Aronoff Date: Tue, 25 Dec 2012 06:59:08 -0500 Subject: shocco: move hard markdown dep to Requirement schocco requires a `markdown` command. The previous version of the formula checked for the markdown formula. However, there's an edge case involved. The discount formula installs a command `markdown` which can also satisfy shocco's requirement. (And I would add that discount's implementation of the `markdown` command is far superior to markdown's, though I grant that's debatable.) This update checks for any `markdown`-providing install, and if one is not found tells the user what options are available. I think this is better than just installing the markdown formula. First, if discount is already installed, then when `brew` tries to install markdown, the linking stage will fail. Although the shocco install as a whole will go through, the failure message about linking markdown is likely to confuse the user. Also, if discount is already installed, that problably means the user doesn't want the markdown formula. Finally, this way of handling things is more easily extended if other formulas become available which provide a valid `markdown` command. Closes #16740. Signed-off-by: Misty De Meo --- Library/Formula/shocco.rb | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'Library') diff --git a/Library/Formula/shocco.rb b/Library/Formula/shocco.rb index 61b6a2978..09b92203c 100644 --- a/Library/Formula/shocco.rb +++ b/Library/Formula/shocco.rb @@ -8,12 +8,33 @@ class Pygments < Formula sha1 '4fbd937fd5cebc79fa4b26d4cce0868c4eec5ec5' end +class MarkdownProvider < Requirement + def message; <<-EOS.undent + shocco requires a `markdown` command. + + You can satisfy this requirement with either of two formulae: + brew install markdown + brew install discount + + Please install one and try again. + EOS + end + + def satisfied? + which 'markdown' + end + + def fatal? + true + end +end + class Shocco < Formula homepage 'http://rtomayko.github.com/shocco/' url 'https://github.com/rtomayko/shocco/tarball/a1ee000613946335f54a8f236ee9fe6f7f22bcb8' sha1 '8feb66dad3c957fabdfa368e710dfb2a078a732f' - depends_on 'markdown' + depends_on MarkdownProvider.new def install Pygments.new.brew { libexec.install 'pygmentize','pygments' } -- cgit v1.2.3