blob: 3d4e070fada282a02a2e81ce9d495956ad2a21e9 (
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
  | 
require 'formula'
# Installs the binary build of MLton.
# Since MLton is written in ML, building from source
# would require an existing ML compiler/interpreter for bootstrapping.
class StandardHomebrewLocation < Requirement
  def message; <<-EOS.undent
    mlton won't work outside of /usr/local
    Because this uses pre-compiled binaries, it will not work if
    Homebrew is installed somewhere other than /usr/local; mlton
    will be unable to find GMP.
    EOS
  end
  def satisfied?
    HOMEBREW_PREFIX.to_s == "/usr/local"
  end
end
class Mlton < Formula
  homepage 'http://mlton.org'
  url 'http://mlton.org/pages/Download/attachments/mlton-20100608-1.amd64-darwin.gmp-static.tgz'
  md5 'd32430f2b66f05ac0ef6ff087ea109ca'
  # We download and install the version of MLton which is statically linked to libgmp, but all
  # generated executables will require gmp anyway, hence the dependency
  depends_on StandardHomebrewLocation.new
  depends_on 'gmp'
  skip_clean :all
  def install
    cd "local" do
      # Remove OS X droppings
      rm Dir["man/man1/._*"]
      mv "man", "share"
      prefix.install Dir['*']
    end
  end
end
  |