| Age | Commit message (Collapse) | Author |
|
Now that a URL, version, and the (for lack of a better term) "specs"
associated with said URL (e.g. the VCS revision, or a download strategy
hint) are neatly bundled up in a SoftwareSpec object, it doesn't make
sense to pass them individually to download strategy constructors. These
constructors now take only the formula name and a SoftwareSpec as
parameters.
This allows us to move mirror handling out out of Formula#fetch and into
the download strategies themselves. While doing so, we adjust the mirror
implementation a bit; mirrors now assume the same "specs" as their
owner's URL. They are still only useable by the CurlDownloadStrategy,
but this provides a basis for extending mirror support to other
strategies.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
|
|
Most Homebrew builds produce libraries, so CMake should give priority to
libraries when resolving dependencies.
Closes Homebrew/homebrew#12497.
Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
|
|
This differs from the current std_cmake_parameters in that it returns an
array instead of a string. Doing so makes dealing with it in formulae
much more pleasant, and for new formula hackers, less surprising.
std_cmake_parameters is retained in compat to maintain compatibility
with external formulae.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
`require` is OK without an .rb extension, but the rest of our code will be confused and generate weird errors.
Fixes Homebrew/homebrew#11558.
|
|
|
|
Fixes Homebrew/homebrew#11966.
|
|
Fixes Homebrew/homebrew#11561.
Fixes Homebrew/homebrew#11614.
|
|
This reverts commit 092004e7820791030f568af0e3b03389ea4f7ee3.
|
|
Fixes Homebrew/homebrew#11561.
Fixes Homebrew/homebrew#11614.
|
|
The test for this previously passed, but only because the constructor
for SoftwareSpecification was raising an exception. method_added needs
to be a class method because methods are being defined on the class, not
the object, and to test it properly we have to eval the class in the
test itself.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
|
|
Fixes Homebrew/homebrew#11434.
|
|
|
|
- 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>
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
Fixes Homebrew/homebrew#10958.
|
|
See previous commit's explanation.
|
|
|
|
|
|
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>
|