require 'formula' class NeedsSnowLeopard < Requirement def satisfied? MacOS.snow_leopard? end def message; <<-EOS.undent GHC requires OS X 10.6 or newer. The binary releases no longer work on Leopard. See the following issue for details: http://hackage.haskell.org/trac/ghc/ticket/6009 EOS end end class Ghc < Formula homepage 'http://haskell.org/ghc/' version '7.4.2' if Hardware.is_64_bit? and not ARGV.build_32_bit? url 'http://www.haskell.org/ghc/dist/7.4.2/ghc-7.4.2-x86_64-apple-darwin.tar.bz2' sha1 '7c655701672f4b223980c3a1068a59b9fbd08825' else url 'http://www.haskell.org/ghc/dist/7.4.2/ghc-7.4.2-i386-apple-darwin.tar.bz2' sha1 '60f749893332d7c22bb4905004a67510992d8ef6' end depends_on NeedsSnowLeopard.new # Avoid stripping the Haskell binaries & libraries. # See: http://hackage.haskell.org/trac/ghc/ticket/2458 skip_clean ['bin', 'lib'] fails_with :clang do build 421 cause <<-EOS.undent Building with Clang configures GHC to use Clang as its preprocessor, which causes subsequent GHC-based builds to fail. EOS end def options [['--32-bit', 'Build 32-bit only.']] end def install system "./configure", "--prefix=#{prefix}" system "make install" end def caveats; <<-EOS.undent This brew is for GHC only; you might also be interested in haskell-platform. EOS end end