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>
The 64bit version of GHC became officially supported with the 7.0.2 release.
This is now used as the default unless the user does not have the required
hardware or invokes the `--32-bit` flag.
ClosesHomebrew/homebrew#11490.
ClosesHomebrew/homebrew#11491.
ClosesHomebrew/homebrew#11708.
Updating the formula to install GHC 7.4.1 for --devel, despite the fact thats
the current stable release. But, for haskell-platform I am leaving GHC 7.0.4 as
the current default GHC version.
ClosesHomebrew/homebrew#9945.
Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
This commit adds a `devel` entry to the DSL, allowing formulae to
specify an unstable branch.
`devel` takes a block, which should contain standard `url` and `md5`
fields (and `version`, if necessary). This must come after the standard
DSL fields.
This commit also migrates over all formulae currently using `devel` to
the new syntax, as well as formulae which used `head` for non-VCS urls.
The new syntax is also available for `stable` and `bottle`. `stable` is
an option alongside the old syntax. `bottle` replaces the old syntax.
Note that the @stable ivar in Formula has been renamed to @standard,
and the @bottle ivar has been renamed to @bottle_url.
ClosesHomebrew/homebrew#9735.
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
* Use new "url" features
* Use keg_only DSL
* Use "skip_clean :all" DSL
* Whitespace and style cleanups
* Make bash invocations less silly
* Use new man2-man8 helpers
* Remove "FileUtils." since it is included in Formula
* Use real names for deps instead of aliases
* ENV.x11 now updates path, so remove that from individual brews
GHC is a state-of-the-art open source compiler and interactive environment for the
functional language Haskell.
This formula uses the official GHC binary package for Mac OS X.
Signed Off By: Max Howell <max@methylblue.com>
I adapted the system calls to use full paths to tools.
FileUtils is included into Formula, so I neatened that stuff up too.