diff options
| author | Peter Aronoff | 2012-12-25 06:59:08 -0500 |
|---|---|---|
| committer | Misty De Meo | 2012-12-27 20:26:00 -0400 |
| commit | d315c98d44aa6efbca65e14dfcf9f8e6be9a2bee (patch) | |
| tree | 5419fb110a68f42ef8ff4662744543efb7bfeded | |
| parent | 5ca4d56d0b2e3feb637c6dc0a0c3354c59377b30 (diff) | |
| download | homebrew-d315c98d44aa6efbca65e14dfcf9f8e6be9a2bee.tar.bz2 | |
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 <mistydemeo@gmail.com>
| -rw-r--r-- | Library/Formula/shocco.rb | 23 |
1 files changed, 22 insertions, 1 deletions
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' } |
