aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2012-07-04Homebrew 0.9.20.9.2Jack Nagel
0.9.2 includes the formula specs refactoring. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04Give SoftwareSpec an initializerJack Nagel
Tools like `brew create` need to create and manipulate SoftwareSpec objects. It is useful to be able to do this directly, rather than by proxy through the special methods that serve the main formula DSL. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
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-04fetch: use new checksum verificationJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04Refactor download strategy detectionJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04tests: clean up whitespaceJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04Demonstrate that bottles are selected correctlyJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04Prune some requires from test filesJack Nagel
testing_env already requires utils; set up the ARGV and ENV extensions there as well. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04Refactor checksummingJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04audit: handle new formula specsJack Nagel
2012-07-04info: display available formula specsJack Nagel
2012-07-04fetch: make use of new formula specsJack Nagel
2012-07-04Introduce new formula specsJack Nagel
2012-07-02Cache Hardware.is_64_bit?Jack Nagel
IO#popen is called for each call to Hardware.is_64_bit?; this becomes costly when it is repeatedly invoked. Luckily it is an invariant, so we can store it in a class variable. False is a valid value for this method, so the usual ||= idiom is not applicable. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-01Update formula template for new X11 dependencyJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-01Dump Cmake environment variables in brew --envJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-01Update doctor checks for XQuartzJack Nagel
- pkg-config no longer defaults to checking /usr/X11/lib/pkgconfig; instead this path is added via ENV.x11 or depends_on :x11. Formulae that expect X11 libs should be explicitly marked as depends_on :x11. - Remove warning about /usr/X11 as a symlink. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-01Better describe X11 in brew --configCamillo Lugaresi
2012-07-01Better error message for unknown dep symbolCamillo Lugaresi
2012-07-01ENV.x11 automatically if depends_on :x11Camillo Lugaresi
2012-07-01Add depends_on :libpng as an alias to :x11Camillo Lugaresi
Some formulae ask for the x11 environment with ENV.libpng; mirror this in the new dependency form.
2012-07-01Simplify DependencyCollector#addCamillo Lugaresi
2012-07-01depends_on :x11 syntax supportCamillo Lugaresi
2012-07-01add method to find XQuartz versionCamillo Lugaresi
2012-07-01use XQuartz when presentCamillo Lugaresi
2012-06-30Clarify commentJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-30Address some style issues in MacOS moduleJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-29doctor: suggest the correct xcode-select path to the usersamueljohn
Shortened the part about the CLT-only systems, because this message is never shown to them. Closes Homebrew/homebrew#13061. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-29Add mdfind method to MacOS moduleJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-29Refactor PATH setupJack Nagel
- Make ORIGINAL_PATHS an array of Pathnames instead of strings - Append the dev tools path once in global.rb instead of build.rb Closes Homebrew/homebrew#13075. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-28Organize compiler methodsJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-27Extract MacOS module to separate fileAdam Vandenberg
2012-06-27Refactor MacOS.Adam Vandenberg
* call `xcode-select` once and cache the result * reuse functions where appropriate
2012-06-27remove confusing commentsAdam Vandenberg
2012-06-27Fix Homebrew/homebrew#13012 properly and don't set the SDK if CLTsamueljohn
Undoing parts of the hot fix 78b9e8548e771a59e382e6f13339664ec5498391. The only thing missing was to check for `system "/usr/bin/xcrun -find make 1>/dev/null 2>&1"` and then it's safe to call locate. This commit restores the original functionality but without the risk for recursion and improves the logic of `MacOS.locate`. See below. To important changes in this commit: - For Xcode _and_ CLT: don't add the SDK and leave things as before. So if `MacOS.clt_installed?`, then no `SDKROOT` and `-L` and `-I` directories are set in `ENV.macosxsdk`. - Improved the logic for `MacOS.locate` for Xcode-only situations by assuring that the xcode-select path is correct. This is done by checking that `bin/make` exists and is executable. Otherwise it was possible to set xcode-select to an empty dir. This check is done in `MacOS.sdk_path` too. We are now able to use Xcode wherever it is and can work even, if xcode-select is set to invalid values. (Remember some users don't have sudo access and that is needed to fix xcode-select). Some minor whitespace fixes. Minor backtick fix in doctor.rb's printout. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-06-27Homebrew 0.9.10.9.1Adam Vandenberg
Bump the version number due to the Xcode/CLT change.
2012-06-27Simplify check_non_librariesAdam Vandenberg
2012-06-26doctor: check for ~/.pydistutils.cfgsamueljohn
Closes Homebrew/homebrew#12363. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-26config: omit Xcode path for CLT-only systemsJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-26Clean up --config outputJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-25Improve bug report wiki page text.Mike McQuaid
Fixes Homebrew/homebrew#12674.
2012-06-25MacOS.sdk_path: silence stderr from xcode-selectMisty De Meo
2012-06-25MacOS.sdk_path: use strip instead of chomp.chompMisty De Meo
2012-06-25MacOS.sdk_path: make sure xcode-select is saneMisty De Meo
According to a user on IRC with a brand-new Mac, xcode-select is preconfigured to /Developer out of the box even though that doesn't exist on modern Xcode. So we shouldn't trust that it makes any sense.
2012-06-25MacOS.sdk_path: chomp harder!Misty De Meo
There were two newlines being returned by the command being called in sdk_path, not just one.
2012-06-25Hotfix for stack overflowMisty De Meo
Under certain circumstances, MacOS.locate and MacOS.dev_tools_path would call each other recursively. This was limited to systems with Xcode minus the CLT. See Homebrew/homebrew#13012.
2012-06-25brew-upgrade: Respect --ignore-dependencies flagCharlie Sharpsteen
Passing `--ignore-dependencies` to `brew upgrade` will now have the desired effect.
2012-06-25StandardCompilers: add Xcode 4.3.3Misty De Meo
2012-06-24Core change: XCode only install, with CLT or bothsamueljohn
Allow XCode without the Command Line Tools to work with homebrew, so it's not necessary to register an Apple Dev ID and/or go to the XCode prefs and download the CLT. Yay! Further, this commit allows to use the CLT solely (without the need for XCode). Saves quite some megs. (Some furmulae require xcodebuild) Of course XCode together with the CLT is still fine and has been tested on 10.7 and 10.6 with Xcode 4 and Xcode 3. Only on Lion or above, tell the user about the options, which are - Xcode without CLT - CLT without Xcode - both (ok, it's not directly stated, but implicit) So if no Xcode is found and we are on Lion or above, we don't fail but check for the CLTs now. For older Macs, the old message that Xcode is needed and the installer should be run is still displayed. If the CLT are not found but Xcode is, then we print out about the experimental status of this setup. Closes Homebrew/homebrew#10510. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-06-23doctor: rewrite Volume class to fix issue with google update engineTim Oram
Signed-off-by: Adam Vandenberg <flangy@gmail.com>