aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
authorGaƫtan Lehmann2014-05-09 14:52:29 +0200
committerAdam Vandenberg2014-05-11 15:28:39 -0700
commit965102811b210267650cd1b567281fe4996971b2 (patch)
tree07b0ba3163b2b73ddf7d4b5c13ab2f3b040a3b3e /Library/Formula
parent20cdf983369190c5848ee5f3cfcafce4b87c7533 (diff)
downloadhomebrew-965102811b210267650cd1b567281fe4996971b2.tar.bz2
ghc 7.8.2 with --devel
ghc 7.8 uses clang internally. clang is used to build the ghc 7.8 on mavericks 64 bit, and gcc is used on older OS and 32 bit builds. Also advise to use cabal-install in the caveat. Closes #29084. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Diffstat (limited to 'Library/Formula')
-rw-r--r--Library/Formula/ghc.rb79
1 files changed, 39 insertions, 40 deletions
diff --git a/Library/Formula/ghc.rb b/Library/Formula/ghc.rb
index afd5e6ecf..468146968 100644
--- a/Library/Formula/ghc.rb
+++ b/Library/Formula/ghc.rb
@@ -15,32 +15,38 @@ class Ghc < Formula
option "32-bit"
option "tests", "Verify the build using the testsuite."
- devel do
- # This block should largely translate over for 7.8.1 when GM.
- url "http://www.haskell.org/ghc/dist/7.8.1-rc2/ghc-7.8.0.20140228-src.tar.bz2"
- sha1 "8bd8eb3410a7fccc322c0e23e8045fcb5793ea5a"
+ # http://hackage.haskell.org/trac/ghc/ticket/6009
+ depends_on :macos => :snow_leopard
+ depends_on "gmp"
- depends_on "gcc" if build.build_32_bit?
- depends_on :macos => :mountain_lion
+ devel do
+ url "https://www.haskell.org/ghc/dist/7.8.2/ghc-7.8.2-src.tar.xz"
+ sha1 "fe86ae790b7e8e5b4c78db7a914ee375bc6d9fc3"
- resource "binary" do
- url "https://www.haskell.org/ghc/dist/7.8.1-rc2/ghc-7.8.0.20140228-x86_64-apple-darwin-lion.tar.bz2"
- sha1 "0b5d9a25afc516682dcae62e9955552ce857e715"
+ resource "testsuite" do
+ url "https://www.haskell.org/ghc/dist/7.8.2/ghc-7.8.2-testsuite.tar.xz"
+ sha1 "3abe4e0ebbed17e825573f0f34be0eca9179f9e4"
end
+ end
- resource "binary-32" do
- url "http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-i386-apple-darwin.tar.bz2"
- sha1 "6a312263fef41e06003f0676b879f2d2d5a1f30c"
- end
+ resource "binary_7.8" do
+ url "https://www.haskell.org/ghc/dist/7.8.2/ghc-7.8.2-x86_64-apple-darwin-mavericks.tar.xz"
+ sha1 "5219737fb38f882532712047f6af32fc73a91f0f"
+ end
- resource "testsuite" do
- url "http://www.haskell.org/ghc/dist/7.8.1-rc2/ghc-7.8.0.20140228-testsuite.tar.bz2"
- sha1 "0c52e15c699b1c624fbc218b98ddfb44bc43cec8"
- end
+ resource "binary" do
+ url "http://www.haskell.org/ghc/dist/7.4.2/ghc-7.4.2-x86_64-apple-darwin.tar.bz2"
+ sha1 "7c655701672f4b223980c3a1068a59b9fbd08825"
+ end
+
+ resource "binary32" do
+ url "http://www.haskell.org/ghc/dist/7.4.2/ghc-7.4.2-i386-apple-darwin.tar.bz2"
+ sha1 "60f749893332d7c22bb4905004a67510992d8ef6"
end
# These don't work inside of a `stable do` block
- if build.stable?
+ if build.stable? || build.build_32_bit? || !MacOS.prefer_64_bit? || MacOS.version < :mavericks
+ depends_on "gcc" if MacOS.version >= :mountain_lion
env :std
fails_with :clang do
@@ -52,21 +58,6 @@ class Ghc < Formula
end
stable do
- # http://hackage.haskell.org/trac/ghc/ticket/6009
- depends_on :macos => :snow_leopard
- depends_on "gcc" if MacOS.version >= :mountain_lion
- depends_on "gmp"
-
- resource "binary" do
- url "http://www.haskell.org/ghc/dist/7.4.2/ghc-7.4.2-x86_64-apple-darwin.tar.bz2"
- sha1 "7c655701672f4b223980c3a1068a59b9fbd08825"
- end
-
- resource "binary32" do
- url "http://www.haskell.org/ghc/dist/7.4.2/ghc-7.4.2-i386-apple-darwin.tar.bz2"
- sha1 "60f749893332d7c22bb4905004a67510992d8ef6"
- end
-
resource "testsuite" do
url "https://github.com/ghc/testsuite/archive/ghc-7.6.3-release.tar.gz"
sha1 "6a1973ae3cccdb2f720606032ae84ffee8680ca1"
@@ -80,10 +71,12 @@ class Ghc < Formula
# Move the main tarball contents into a subdirectory
(buildpath+"Ghcsource").install Dir["*"]
- if (Hardware.is_64_bit? and not build.build_32_bit?)
- binary_resource = "binary"
- else
+ if build.build_32_bit? || !MacOS.prefer_64_bit?
binary_resource = "binary32"
+ elsif MacOS.version >= :mavericks && build.devel?
+ binary_resource = "binary_7.8"
+ else
+ binary_resource = "binary"
end
resource(binary_resource).stage do
@@ -112,11 +105,11 @@ class Ghc < Formula
# https://github.com/Homebrew/homebrew/issues/13650
ENV["LD"] = "ld"
- if Hardware.is_64_bit? and not build.build_32_bit?
- arch = "x86_64"
- else
+ if build.build_32_bit? || !MacOS.prefer_64_bit?
ENV.m32 # Need to force this to fix build error on internal libgmp_ar.
arch = "i386"
+ else
+ arch = "x86_64"
end
# ensure configure does not use Xcode 5 "gcc" which is actually clang
@@ -144,11 +137,17 @@ class Ghc < Formula
system "make"
# -j1 fixes an intermittent race condition
system "make", "-j1", "install"
+ if build.devel?
+ # use clang, even when gcc was used to build ghc
+ settings = Dir[lib/"ghc-*/settings"][0]
+ inreplace settings, "\"#{ENV.cc}\"", "\"clang\""
+ end
end
end
def caveats; <<-EOS.undent
- This brew is for GHC only; you might also be interested in haskell-platform.
+ This brew is for GHC only; you might also be interested in cabal-install
+ or haskell-platform.
EOS
end