aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula.rb
AgeCommit message (Collapse)Author
2012-07-04Teach download strategies to take a SoftwareSpecJack Nagel
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>
2012-07-04Refactor checksummingJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04Introduce new formula specsJack Nagel
2012-06-03std_cmake_args: Search for Frameworks lastCharlie Sharpsteen
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>
2012-05-22Introduce std_cmake_args methodJack Nagel
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>
2012-05-15Don't fall into the no-extension OK trapMax Howell
`require` is OK without an .rb extension, but the rest of our code will be confused and generate weird errors. Fixes Homebrew/homebrew#11558.
2012-05-02patches - support detection of compression typesAdam Vandenberg
2012-05-01Fix Ruby warnings.Mike McQuaid
Fixes Homebrew/homebrew#11966.
2012-04-24Generate the bottle download URL correctly.Mike McQuaid
Fixes Homebrew/homebrew#11561. Fixes Homebrew/homebrew#11614.
2012-04-24Revert "Generate the bottle download URL correctly."Mike McQuaid
This reverts commit 092004e7820791030f568af0e3b03389ea4f7ee3.
2012-04-24Generate the bottle download URL correctly.Mike McQuaid
Fixes Homebrew/homebrew#11561. Fixes Homebrew/homebrew#11614.
2012-04-06Fix protection against overriding Formula#brewJack Nagel
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>
2012-04-04Populate empty mirror_list for bottles.Mike McQuaid
Fixes Homebrew/homebrew#11434.
2012-04-03Version bottles.Mike McQuaid
2012-04-01New fails_with infrastructureJack Nagel
- 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>
2012-03-23Fix broken default bottle URL.Mike McQuaid
2012-03-19Use PatchesAdam Vandenberg
2012-03-18Fix bottles on non-Lion.Mike McQuaid
2012-03-18Remove reliance of bottle DSL on EOCLASS.Mike McQuaid
2012-03-18Implement new bottle syntax in formula.rbMisty De Meo
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2012-03-18Use fetch for downloading bottles.Mike McQuaid
Fixes Homebrew/homebrew#10958.
2012-03-18Downcase tap parameters in Formula.canonical_nameMax Howell
See previous commit's explanation.
2012-03-16Record tap-origin in the install-receiptMax Howell
2012-03-16canonical_name can resolve tapsMax Howell
2012-03-15ohai'ing this is ugly IMOMax Howell
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
2012-03-10roll back stricter version checkAdam Vandenberg
2012-03-10Use new Requirements code in HomebrewAdam Vandenberg
2012-03-10Move most bottle stuff to a bottles.rb file.Mike McQuaid
2012-03-10Support bottles for non-Lion OSX versions.Mike McQuaid
2012-03-09Tell the user when build logs are copiedAdam Vandenberg
2012-03-09Do a stricter version checkAdam Vandenberg
A version should always be set when going through the constructor so tighten this check. Also do some style clean ups here.
2012-03-07Remove silly path methodAdam Vandenberg
2012-03-06Extend FileUtils rather than include itJack Nagel
Fixes Homebrew/homebrew#10729. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-06Require specialties at the end of formula.rbJack Nagel
classes in formula_specialties.rb need Formula, so it has to be last. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-05Move llvm method to FailsWithLLVMAdam Vandenberg
2012-03-05shrinkAdam Vandenberg
2012-03-05invert conditionAdam Vandenberg
2012-03-05Move specialized formulae base classes into a new fileAdam Vandenberg
2012-03-05Move path utils out of formula.rbAdam Vandenberg
Make a new module for our FileUtils extensions and use that instead.
2012-02-29Formula.rb: update a commentAdam Vandenberg
2012-02-29Add support for Luarocks dependencies.Adam Vandenberg
2012-02-25Only call patches onceAdam Vandenberg
2012-02-25Add "require hardware" to formula.rbAdam Vandenberg
Now individual formulae don't need to require this if they want to use Hardware methods outside of `def install`.
2012-02-25Add more external dep optionsSecond Planet
* Chicken Scheme * Node.js * Rubinius Closes Homebrew/homebrew#8466. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-02-24Add `buildpath` to FormulaAdam Vandenberg
2012-02-24Introduce block form of mkdirAdam Vandenberg
2012-02-24Formula#system: sanitize args before execJack Nagel
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>
2012-02-21Remove unused :force switchesJack Nagel
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>
2012-02-17cast `name` to stringLeFnord
Some times a Pathname is passed in here Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-02-10Don't return nil from Formula#linked_kegJack Nagel
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>