| Age | Commit message (Collapse) | Author | 
|---|
|  |  | 
|  | Fixes Homebrew/homebrew#28357. | 
|  | `needs` allows formulae to specify dependencies on cross-compiler
dependencies, allowing multiple failures to be specified in a single
statement. For instance, `needs :cxx11` adds seven compiler failures.
Closes Homebrew/homebrew#22912. | 
|  |  | 
|  | The old version worked like this:
fails_with :gcc => '4.8.1'
That wasn't really flexible enough, and made it harder to distinguish
different releases in the same GCC series. Since no one was really
using it yet, this adjusts the syntax to be more similar to the
Apple compilers:
fails_with :gcc => '4.8' do
  release '4.8.1'
end
Like with Apple compilers, omitting `release` blacklists the entire
series.
This also unifies the `build` and `version` attributes and accessors,
and exposes them under both names. | 
|  | Fixes Homebrew/homebrew#19962. | 
|  | llvm-gcc should still get priority over non-Apple GCCs.
Fixes Homebrew/homebrew#22424. | 
|  | This reverts commit 7db9ef9650a44ef8155bf66efd88703e580057b0. | 
|  |  | 
|  | This adds support for non-Apple GCC compilers in the fails_with code.
A fails_with block for a non-Apple compiler looks like:
fails_with :gcc => '4.8.1' do
  cause 'Foo'
end
Non-Apple compilers don't have build numbers, so compiler failures are
based on version strings instead.
Internally non-Apple compilers can be distinguished because they are
passed around as strings instead of symbols.
In addition, this alters the priority list for compilers, with the
following changes:
* Apple GCC 4.2 and LLVM-GCC swap positions, with GCC now taking
  priority. (Maybe LLVM-GCC should just go away.)
* Non-Apple GCC compilers are ranked below GCC 4.2 but above LLVM-GCC
  and Apple GCC 4.0. | 
|  |  | 
|  | Closes Homebrew/homebrew#20239. | 
|  |  | 
|  | This replaces the old behaviour of falling back to the original
compiler with no messaging.
Fixes Homebrew/homebrew#19170.
Fixes mistydemeo/tigerbrew#45. | 
|  |  | 
|  |  | 
|  |  | 
|  | Build 211 can build most things, but I've seen intermittent
miscompilation and slower code. Also it comes from Xcode 4.2, so most
people don't have it anyway. Let's use 218 as the minimum viable
version. | 
|  |  | 
|  | The existing case-statement with nested if-statements is gross and hard
to extend. Replacing it with a priority queue simplifies the logic and
makes it very easy to add new compilers to the fails_with system, which
we will likely want to do in the future. | 
|  | The original constraints that led to using a custom collection rather
than Array or Set here no longer exist, so let's avoid the pointless
abstraction here. | 
|  | 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.
Closes Homebrew/homebrew#18175. | 
|  | Actually works properly now.
This reverts commit a0e56345ea55f7ee3c41d6bf13f9cfb3af635323. | 
|  | This reverts commit c98d50495275ff4951dd126bb88a55e568b64092. | 
|  | Closes Homebrew/homebrew#17618.
Closes Homebrew/homebrew#17813. | 
|  |  | 
|  | Inheriting from Array (and other core types) is problematic:
  - It exposes a very wide interface with many methods that are not
    really relevant to the subclass.
  - It can cause some weird side effects, as many Array operations are
    in C and have hardcoded return values; for example, combining two
    array subclasses returns a new Array instead of the subclass.
Avoid these problems using delegation and the Enumerable module where
applicable. | 
|  | Fixes Homebrew/homebrew#14121. | 
|  | - Formulae can now declare failures on any compiler.
 - FailsWithLLVM and associated formula elements have been moved to
   compat.
Signed-off-by: Jack Nagel <jacknagel@gmail.com> |