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.
ClosesHomebrew/homebrew#29084.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
`brew install ghc --tests` emits a bunch of warnings and subsequently
fails because staging the "testsuite" resource makes its files
available in a `testsuite` subdirectory—*not* in the current
directory, which is where the formula *expects* them to be.
ClosesHomebrew/homebrew#28330.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Given the current state of OS X compilers, the original fails_with
behavior is becoming less useful, mostly resulting in build failures
each time the compiler is updated. So make the following changes:
When a build is specified, we retain the old behavior: switch compilers
if the available compiler is <= the build, don't switch if it is > the
build.
When no build is specified, unconditionally switch compilers, and don't
output the advice message. This allows us to mark formulae as
perpetually failing, avoiding the need to update formulae each time a
new compiler build is made available.
As a bonus, this makes the logic much easier to reason about.
ClosesHomebrew/homebrew#18175.
- Add `ENV.m32` to fix build errors on 64bit hardware w/ `--32-bit`
Some users want to force 32bit ghc on 64bit hardware.
Ghc, however, comes with several internal libraries like libgmp
that get configured during the build. By forcing `ENV.m32`,
we force all the internal libs to build 32bit also.
FixesHomebrew/homebrew#15925.
ClosesHomebrew/homebrew#15933.
Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
Following the discussion in Homebrew/homebrew#13519, ghc gets a major overhaul:
* Add a subformula that installs the ghc binary like before
* Use the ghc binary to build ghc from source
* Force ENV['LD'] = 'ld' to stop an assertion linking with llvm
* Add an option to run the testsuite. 9 unexpected fails atm
* Add a `j1` for an occasional install race
* Remove the patch which was fixed in two commits in Apr 2011.
47ac5d859493ae0cd8dd02e1b4848f993acc3d5c
a8d4731456ac3da0a70399e4ab821a763a4c04fb
FixesHomebrew/homebrew#13519
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
The MacOS.version? family of methods (other than "leopard?") are poorly
defined and lead to confusing code. Replace them in formulae with more
explicit comparisons.
"MacOS.version" is a special version object that can be compared to
numerics, symbols, and strings using the standard Ruby comparison
methods.
The old methods were moved to compat when the version comparison code
was merged, and they must remain there "forever", but they should not be
used in new code.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>