aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula.rb
AgeCommit message (Collapse)Author
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>
2012-02-09Split bottle logic.Mike McQuaid
Fixes Homebrew/homebrew#8805.
2012-02-04Split some classes to formula_supportAdam Vandenberg
formula.rb is getting big, let's start splitting things out.
2012-02-03Remove aka warningAdam Vandenberg
2012-02-03Add and use plist helper methodsJack Nagel
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>
2012-02-02devel: reset mirrors when building develMisty De Meo
Otherwise stable mirrors will be considered when the devel download fails. Fixes Homebrew/homebrew#9910.
2012-01-25Add `devel` to the DSL, + stable and bottle blocksMisty De Meo
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>
2012-01-16Don't try and use GCC on Xcode 4.2: it's gone Jim.Mike McQuaid
Closes Homebrew/homebrew#9622. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2012-01-16Bump highest seen LLVM version.Mike McQuaid
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2012-01-15Unlink old keg when upgrading dependenciesJack Nagel
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>
2011-12-26Allow Formula.canonical_name to use Pathname objectsCharlie Sharpsteen
2011-12-24formula.rb: Don't apply fails_with_llvm to ClangCharlie Sharpsteen
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.
2011-12-18Expose stable/unstable specsAdam Vandenberg
2011-12-18Extract checksum type functionAdam Vandenberg
2011-12-18Simplify a couple of commentsAdam Vandenberg
2011-12-04formula.rb: Fix use of xcode_version in LLVM checkCharlie Sharpsteen
Should be `MacOS.xcode_version`. Fixes Homebrew/homebrew#8966.
2011-12-03formula.rb: Change fails_with_llvm for XCode 4.2Charlie Sharpsteen
Suggest trying `--use-clang` instead of `--use-gcc` (which does nothing). Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-11-27formula.rb: Initialize path to nil or a PathnameCharlie Sharpsteen
For consistency, ensure that the `path` member of formula objects is always a `Pathname`.
2011-11-27Re-work ARGV filtering to properly handle --HEADCharlie Sharpsteen
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.
2011-10-10Add an attr_reader for 'head'Jack Nagel
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>
2011-10-04formula.rb: Don't attempt to mirror unstable URLsCharlie Sharpsteen
If a build is being influenced by an option such as `--HEAD`. Don't attempt mirrors if a download fails. Fixes Homebrew/homebrew#7971.
2011-09-19formula.rb: Move cache dir creation to fetchCharlie Sharpsteen
So that the cache directory will get created if the user runs `brew fetch` instead of `brew install` as the first command.
2011-09-19Only try mirrors for CurlDownloadStrategiesMax Howell
Also adjust output text slightly for prettiness. A possibly useful side effect here is safe_system has a defined Exception (subclassing RuntimeError) now.