aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/shocco.rb
blob: 15dac128d2b7531066ff367c914f507326ecccc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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
  default_formula 'markdown'

  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.io/shocco/'
  url 'https://github.com/rtomayko/shocco/archive/1.0.tar.gz'
  sha1 'e29d58fb8109040b4fb4a816f330bb1c67064f6d'

  depends_on MarkdownProvider
  depends_on :python

  def patches
    DATA
  end

  def install
    Pygments.new.brew { libexec.install 'pygmentize','pygments' }

    # Brew along with Pygments
    system "./configure",
      "PYGMENTIZE=#{libexec}/pygmentize",
      "MARKDOWN=#{HOMEBREW_PREFIX}/bin/markdown",
      "--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

__END__
diff --git a/configure b/configure
index 2262477..bf0af62 100755
--- a/configure
+++ b/configure
@@ -193,7 +193,7 @@ else stdutil xdg-open   XDG_OPEN   xdg-open
 fi

 stdutil ronn       RONN       ronn
-stdutil markdown   MARKDOWN   markdown Markdown.pl
+stdutil markdown   MARKDOWN   markdown Markdown.pl $MARKDOWN
 stdutil perl       PERL       perl
 stdutil pygmentize PYGMENTIZE pygmentize $PYGMENTIZE