blob: 6f2016ef4a3906773bdb24a835507c4ab21e4158 (
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
  | 
require "formula"
class Bokken < Formula
  homepage "https://inguma.eu/projects/bokken"
  url "https://inguma.eu/attachments/download/197/bokken-1.6.tar.gz"
  sha1 "9d7a3f8773f01c26c9db84e00c415dbff063f224"
  bottle do
    cellar :any
    sha1 "2f679a4a27efdba952ab9be210343daeb7e35299" => :mavericks
    sha1 "181adf2ccd9adde0103d6b0757c498b7169d0258" => :mountain_lion
    sha1 "dd8e4cb621b3cb3c07d2aad5e242391076fcf844" => :lion
  end
  depends_on :python
  depends_on "graphviz"
  depends_on "pygtk"
  depends_on "pygtksourceview"
  depends_on "radare2"
  resource "distorm64" do
    url "http://ftp.de.debian.org/debian/pool/main/d/distorm64/distorm64_1.7.30.orig.tar.gz"
    sha1 "420b0750ab23775bf3e4ff0ccd4b9a4ebb498787"
  end
  resource "pyew" do
    # Upstream only provides binary packages so pull from Debian.
    url "http://ftp.de.debian.org/debian/pool/main/p/pyew/pyew_2.0.orig.tar.gz"
    sha1 "d158b65c17cccda4dd8b7a3d39f1795dfb8e68c4"
  end
  def install
    resource("distorm64").stage do
      cd "build/mac" do
        system "make"
        mkdir_p libexec/"distorm64"
        (libexec/"distorm64").install "libdistorm64.dylib"
        ln_s "libdistorm64.dylib", libexec/"distorm64/libdistorm64.so"
      end
    end
    resource("pyew").stage do
      (libexec/"pyew").install Dir["*"]
      # Make sure that the launcher looks for pyew.py in the correct path (fixed
      # in pyew ab9ea236335e).
      inreplace libexec/"pyew/pyew", "\./pyew.py", "`dirname $0`/pyew.py"
    end
    python_path = "#{libexec}/lib/python2.7/site-packages:#{libexec}/pyew"
    ld_library_path = "#{libexec}/distorm64"
    (libexec/"bokken").install Dir["*"]
    (bin/"bokken").write <<-EOS.undent
      #!/usr/bin/env bash
      env \
        PYTHONPATH=#{python_path}:${PYTHONPATH} \
        LD_LIBRARY_PATH=#{ld_library_path}:${LD_LIBRARY_PATH} \
        python #{libexec}/bokken/bokken.py "${@}"
    EOS
  end
end
  |