| 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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
 | require 'formula'
class Opam < Formula
  homepage 'https://opam.ocaml.org'
  url 'https://github.com/ocaml/opam/archive/1.2.1.tar.gz'
  sha1 'ec05bb766834c599ea5045eb3b7e92478ddf9dd0'
  head 'https://github.com/ocaml/opam.git'
  bottle do
    cellar :any
    sha256 "07bb172ee9fe261c4216b94f9fbb6e7789394ae0aa2baaf5edfb7531f31a557a" => :yosemite
    sha256 "295c0f30bf07605c585810fcd0dd1c767defb5353f681d69a390f518f722a3d4" => :mavericks
    sha256 "00971c8f7ead433bdac2731715380aef7635847c8f899be6dcf08a9d6d162455" => :mountain_lion
  end
  depends_on "objective-caml"
  depends_on "camlp4" => :recommended
  # aspcud has a fairly large buildtime dep tree, and uses gringo,
  # which requires C++11 and is inconvenient to install pre-10.8
  if MacOS.version > 10.7
    depends_on "aspcud" => :recommended
  else
    depends_on "aspcud" => :optional
  end
  if build.with? "aspcud"
    needs :cxx11
  end
  resource "cudf" do
    url "https://gforge.inria.fr/frs/download.php/file/33593/cudf-0.7.tar.gz"
    sha1 "33d6942caf5f008d6696c1200a2589e28ff7e7fa"
  end
  resource "extlib" do
    url "http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz"
    sha1 "6e395ae70e690d5ec6f166cce4761798ce494580"
  end
  resource "ocaml-re" do
    url "https://github.com/ocaml/ocaml-re/archive/ocaml-re-1.2.0.tar.gz"
    sha1 "d54439efaaf888d619cbf1ccd92fbb077aed5d6a"
  end
  resource "ocamlgraph" do
    url "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.5.tar.gz"
    sha1 "e53a92d50685ab38f2b856eb64d93aa36dc7bcdf"
  end
  resource "dose3" do
    url "https://gforge.inria.fr/frs/download.php/file/34277/dose3-3.3.tar.gz"
    sha1 "889b1d7daf963ab21b2c06e68ea8c3f51b58960d"
  end
  resource "cmdliner" do
    url "http://erratique.ch/software/cmdliner/releases/cmdliner-0.9.7.tbz"
    sha1 "7eb50ddb16a1e58bf39755117193a53a7613042c"
  end
  resource "uutf" do
    url "http://erratique.ch/software/uutf/releases/uutf-0.9.3.tbz"
    sha1 "9f9ae5a16ff0cd7ffeebf8b4174c5f041739b231"
  end
  resource "jsonm" do
    url "http://erratique.ch/software/jsonm/releases/jsonm-0.9.1.tbz"
    sha1 "733fe089fb91ac79ac885e9c80d5554aca3e7805"
  end
  def install
    ENV.deparallelize
    # We put the compressed external libraries where the build
    # expects to find them, thus tricking it into believing that it
    # already downloaded the necessary files.
    resources.each do |r|
      r.verify_download_integrity(r.fetch)
      original_name = r.cached_download.basename.sub(/^#{Regexp.escape(name)}--/, "")
      cp r.cached_download, buildpath/"src_ext/#{original_name}"
    end
    system "./configure", "--prefix=#{prefix}", "--mandir=#{man}"
    system "make", "lib-ext"
    system "make"
    system "make", "man"
    system "make", "install"
    bash_completion.install "shell/opam_completion.sh"
    zsh_completion.install "shell/opam_completion_zsh.sh" => "_opam"
  end
  test do
    system "#{bin}/opam", "--help"
  end
  def caveats; <<-EOS.undent
    OPAM uses ~/.opam by default for its package database, so you need to
    initialize it first by running (as a normal user):
    $  opam init
    Run the following to initialize your environment variables:
    $  eval `opam config env`
    To export the needed variables every time, add them to your dotfiles.
      * On Bash, add them to `~/.bash_profile`.
      * On Zsh, add them to `~/.zprofile` instead.
    Documentation and tutorials are available at https://opam.ocaml.org, or
    via 'man opam' and 'opam --help'.
    EOS
  end
end
 |