aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/v8cgi.rb
blob: c8c7ce2837a61c3902abe1adbe079ae769025f36 (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
require 'formula'

class V8cgi <Formula
  head 'http://v8cgi.googlecode.com/svn/trunk/'
  homepage 'http://code.google.com/p/v8cgi/'

  def options
    [
      ["--with-dom", "Enable DOM."],
      ["--with-gd", "Enable GD."],
      ["--with-sqlite", "Enable SQLite."]
    ]
  end

  depends_on 'scons' => :build
  depends_on 'v8'
  depends_on 'libmemcached'
  depends_on 'xerces-c' if ARGV.include? '--with-dom'
  depends_on 'gd' if ARGV.include? '--with-gd'
  depends_on 'sqlite' if ARGV.include? '--with-sqlite'

  def install
    arch = Hardware.is_64_bit? ? 'x64' : 'ia32'

    v8_prefix = Formula.factory('v8').prefix
    conf = "#{etc}/v8cgi.conf"

    inreplace 'SConstruct', '../v8', v8_prefix

    args = ["config_file=#{conf}", "v8_path=#{v8_prefix}"]
    args << (ARGV.include? '--with-dom') ? 'dom=1' : 'dom=0'
    args << (ARGV.include? '--with-gd') ? 'gd=1' :'gd=0'
    args << (ARGV.include? '--with-sqlite') ? 'sqlite=1' : 'sqlite=0'

    system "scons",
            "-j #{Hardware.processor_count}",
            "arch=#{arch}",
            "library=shared",
            "socket=1",
            "process=1",
            "cgi=1",
            "mysql=0",
            "gl=0",
            "module=0",
            *args

    bin.install 'v8cgi'
    lib.install 'lib' => 'v8cgi'
    etc.install "v8cgi.conf.darwin" => "v8cgi.conf"
  end
end