5c93643ee7
When a requirement is specified like: satisfy { which "foo" } There is no reason that we should inject all of ENV.userpaths! into the build environment. Instead, infer the directory to be added to PATH from the Pathname that is returned. This is another step towards condensing the "which program" requirements down into a one-liner DSL element.
53 lines
1.3 KiB
Ruby
53 lines
1.3 KiB
Ruby
require 'formula'
|
|
|
|
# Include a private copy of this Python app
|
|
# so we don't have to worry about clashing dependencies.
|
|
class Pygments < Formula
|
|
homepage 'http://pygments.org/'
|
|
url 'http://pypi.python.org/packages/source/P/Pygments/Pygments-1.5.tar.gz'
|
|
sha1 '4fbd937fd5cebc79fa4b26d4cce0868c4eec5ec5'
|
|
end
|
|
|
|
class MarkdownProvider < Requirement
|
|
fatal true
|
|
|
|
satisfy { which 'markdown' }
|
|
|
|
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
|
|
end
|
|
|
|
class Shocco < Formula
|
|
homepage 'http://rtomayko.github.com/shocco/'
|
|
url 'https://github.com/rtomayko/shocco/tarball/a1ee000613946335f54a8f236ee9fe6f7f22bcb8'
|
|
sha1 '8feb66dad3c957fabdfa368e710dfb2a078a732f'
|
|
|
|
depends_on MarkdownProvider.new
|
|
|
|
def install
|
|
Pygments.new.brew { libexec.install 'pygmentize','pygments' }
|
|
|
|
# Brew along with Pygments
|
|
system "./configure", "PYGMENTIZE=#{libexec}/pygmentize", "--prefix=#{prefix}"
|
|
|
|
# Shocco's Makefile does not combine the make and make install steps.
|
|
system "make"
|
|
system "make install"
|
|
end
|
|
|
|
def caveats
|
|
<<-EOS.undent
|
|
You may also want to install browser:
|
|
brew install browser
|
|
shocco `which shocco` | browser
|
|
EOS
|
|
end
|
|
end
|