| Age | Commit message (Collapse) | Author |
|
|
|
|
|
I wanted to make it possible to not do the additional newline (in brew) if this code path is hit. But I didn't see a way to do it without overriding the Interrupt exception and throwing a new one.
“Never add more code than necessary for aesthetics in error handling.” — mxcl
|
|
|
|
|
|
|
|
|
|
|
|
A version should always be set when going through the constructor
so tighten this check. Also do some style clean ups here.
|
|
|
|
Fixes Homebrew/homebrew#10729.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
classes in formula_specialties.rb need Formula, so it has to be last.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
|
|
|
|
|
|
Make a new module for our FileUtils extensions and use that instead.
|
|
|
|
|
|
|
|
Now individual formulae don't need to require this if they want to use
Hardware methods outside of `def install`.
|
|
* Chicken Scheme
* Node.js
* Rubinius
Closes Homebrew/homebrew#8466.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
|
|
|
|
This prevents passing nested arrays to exec; the same thing is done in
safe_system.
Fixes Homebrew/homebrew#10295.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
The :force behavior for ENV.gcc has been the default for some time, and
was used to force vanilla gcc in case the gcc symlink pointed at
llvm-gcc; for ENV.clang, this doesn't mattera as clang is just clang.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Some times a Pathname is passed in here
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
Doing so was the result of a quick hack to fix the "deps installed as
upgrades don't get linked" bug, but it was a mistake. Instead, always
return the LinkedKegs entry as a Pathname object, and let callers be
responsible for checking that it exists.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Fixes Homebrew/homebrew#8805.
|
|
formula.rb is getting big, let's start splitting things out.
|
|
|
|
These will be used to unify the label namespaces in embedded plists,
i.e. 'homebrew.mxcl.<formula>'.
plist_path returns the full path to a plist file located at the top
level of the keg; plist_path.basename can be used if just the filename
is needed.
c.f. Homebrew/homebrew#9346.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Otherwise stable mirrors will be considered when the devel download
fails.
Fixes Homebrew/homebrew#9910.
|
|
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.
Closes Homebrew/homebrew#9735.
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
|
|
Closes Homebrew/homebrew#9622.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
Installing a formula via `brew install` may trigger upgrades of its
dependencies if the dependencies are installed but outdated. However, we
never unlinked the existing keg in FormulaInstaller#install_dependency
which caused the link step to fail.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
Clang is vastly different than LLVM-GCC and is under active development. Using
Clang is a viable solution to formula that fail with LLVM and a suggested
recourse for users of XCode 4.2 or newer.
Fixes Homebrew/homebrew#9242.
|
|
|
|
|
|
|
|
Should be `MacOS.xcode_version`.
Fixes Homebrew/homebrew#8966.
|
|
Suggest trying `--use-clang` instead of `--use-gcc` (which does nothing).
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
|
|
For consistency, ensure that the `path` member of formula objects is always a
`Pathname`.
|
|
Previously, stripping arguments like `--HEAD` for dependencies failed because
that flag affects the installation prefix encoded into formula objects. The
previous implementation of `ARGV` filtering tried to contain all changes to a
single method call before the `FormulaInstaller` forks. This update spreads
things out a bit:
- The Homebrew `ARGV` extension adds a new method, `filter_for_dependencies`
which strips flags like `--HEAD`, yields to a block, then restores the
original contents of ARGV.
- The `explicitly_requested?` test, which returns true or false depending on
if a formula object is a member of `ARGV.formulae`, is now a method of
`Formula` objects.
- `FormulaInstaller` objects now execute the installation of dependencies
inside an `ARGV.filter_for_dependencies` block if the dependency was
`explicitly_requested?`.
Fixes Homebrew/homebrew#8668.
Closes Homebrew/homebrew#7724.
|
|
This allows `brew audit` to inspect the head URLs, for example; until
now, that check was failing silently.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
If a build is being influenced by an option such as `--HEAD`. Don't attempt
mirrors if a download fails.
Fixes Homebrew/homebrew#7971.
|
|
So that the cache directory will get created if the user runs `brew fetch`
instead of `brew install` as the first command.
|
|
Also adjust output text slightly for prettiness.
A possibly useful side effect here is safe_system has a defined Exception (subclassing RuntimeError) now.
|