Skip to content
This repository has been archived by the owner on Jul 4, 2023. It is now read-only.

Commit

Permalink
shocco: move hard markdown dep to Requirement
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Peter Aronoff authored and mistydemeo committed Dec 28, 2012
1 parent 5ca4d56 commit d315c98
Showing 1 changed file with 22 additions and 1 deletion.
23 changes: 22 additions & 1 deletion Library/Formula/shocco.rb
Expand Up @@ -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' }
Expand Down

0 comments on commit d315c98

Please sign in to comment.