| Age | Commit message (Collapse) | Author |
|
|
|
Some name errors, such as NoMethodError, represent programming errors.
Re-raise them to get a usable error message.
Closes Homebrew/homebrew#14467.
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Closes Homebrew/homebrew#10873.
Closes Homebrew/homebrew#14401.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
When building software "linking step did not complete" sounds
like ld failed. Let's be clear about this.
Closes Homebrew/homebrew#14407.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
|
|
|
|
Fixes Homebrew/homebrew#14148.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Clarify the error message arising from XCodeDependency so that users know
XCode.app is needed and that just installing the CLT does not count as
"installing XCode".
|
|
This prevents multiple calls to flag-modifying ENV methods from
resulting in large amounts of consecutive spaces.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Specifying dependencies with a URL works, even if by accident, but
factory is called repeatedly on this URL and this results in multiple
downloads of the same file.
Fix this by checking const_defined? here too, and DRY up the code a bit.
Fixes Homebrew/homebrew#14285.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
- When using CPATH, we only need -isysroot and not the other -I spam.
- LDFLAGS use -isysroot instead of -L
Turns out that the linker also understands the
-isysroot flag which behaves more natural (in the
sense: "like the internal defaults `/usr/lib` etc.)
than adding `-L$(SDKROOT).
Especially for duplicates, the linker first searches
through all `-L` dirs and then looks at the sysroot
or internal defaults. This is what we want.
- Pkg-config needs CC with CFLAGS passed to configure.
Closes Homebrew/homebrew#14351.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
|
|
|
|
|
|
XQuartz isn't added to the default library paths so if something is
linked against a Homebrew libpng then it doesn't work against the
XQuartz libpng. The CLT provides X11 on Lion so don't request users
install XQuartz if it isn't needed on Mountain Lion.
Fixes Homebrew/homebrew#14325.
|
|
|
|
|
|
Due to the new const_defined? checks, passing certain names (such as
those that start with a digit) that are illegal constant names will
raise NameError. Catch this and error out gracefully, as we would have
previously.
Fixes Homebrew/homebrew#14342.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
Conversation here: 0a45d96b21a5056e5131f136e94533a6a57bf808
|
|
Yes uninstall works, but lets not push people towards that, they can presumably guess that, in the rare case they'd prefer that option.
|
|
|
|
Deprecated Formula.all, replaced usage with more appropriate enumerable options. Just check out how much nicer `brew audit` runs now.
|
|
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
This matches the semantics of other path methods, such as Xcode.prefix.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Simplify access to the different forms of a formula's build options by
making options into real objects rather than strings, and expose both
the 'name' and 'flag' form.
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
build.rb calls Formula.factory to get a usable Formula object to pass to
its install method. However, because the formula file is the actual
executing script, its class is already defined, and loading it again
causes the class to be re-evaluated, which, unfortunately, is not
idempotent.
This bug has existed for a very long time, and its side effects include
duplicate entries the deps array and mirrors array, among others.
Fortunately, the fix is very simple.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Usually, the "foo-version already installed" error is printed by
FormulaInstaller. However, if an up-to-date formula that has outdated
deps is passed on the command line, we proceed to upgrade the deps and
then print a message saying that the formulae given on the command line
is already installed.
Catch this earlier, when the outdated list is being populated, print an
appropriate message, and skip the up-to-date formula.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
This serves the same purpose as similar code in FormulaInstaller, but we
duplicate it because we do the dependency expansion in an ad-hoc fashion
here.
Fixes Homebrew/homebrew#11863.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
The heuristic used by the default version comparison is simple. A
version string is scanned for strings of digits, split into an array of
these strings, and then an element-wise comparison is done.
This fails when presented with something like
Version.new("1.0.0beta7") <=> Version.new("1.0.0")
because the first three digits match, and the fourth digit of the
receiver (7) is greater than the assumed fourth digit of the parameter
(0).
Fix this by defining an element-wise comparator on a new VersionElement
class. This allows us to correctly compare "alpha", "beta", and "rc"
style version strings, and keeps the logic out of the main version
comparison.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
This was missed as part of the specs refactor.
Fixes Homebrew/homebrew#14280.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|