aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/extend
AgeCommit message (Collapse)Author
2012-07-04Refactor checksummingJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-01use XQuartz when presentCamillo Lugaresi
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-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-15Improve Pathname#text_executable? regexpJack Nagel
file(1) does not allow leading whitespace on shebang lines, and there appears to be no restrictions on what characters follow '#!', either. While at it, fix an erroneous shebang test. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-06-10Add ARGV.build_stable?Adam Vandenberg
2012-06-03Handle EOF in Pathname#text_executable?Jack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-30Pathname: add Mach-O moduleJack Nagel
The MachO module contains methods for learning about Mach-O binaries, and can be used where one might normally shell out to file(1). Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-05-03Don't unzip war filesAdam Vandenberg
2012-05-03Detect uncompressed tarsAdam Vandenberg
From a patch by @RuiPereira Closes Homebrew/homebrew#12011.
2012-05-03ENV.rb: Always return integers from make_jobsCharlie Sharpsteen
When referencing `Hardware.processor_count`, `ENV.make_jobs` will return an integer. If referencing the environment variable `HOMEBREW_MAKE_JOBS`, it returned a string. Now, the function always returns an integer. Fixes Homebrew/homebrew#12033.
2012-05-03Revert "ENV.rb: Always return integers from make_jobs"Charlie Sharpsteen
This reverts commit ea1a9e603abe3dab90bf5b157d2614cf58e2cc8e. Argh. Unrelated PySide changes slipped in.
2012-05-03ENV.rb: Always return integers from make_jobsCharlie Sharpsteen
When referencing `Hardware.processor_count`, `ENV.make_jobs` will return an integer. If referencing the environment variable `HOMEBREW_MAKE_JOBS`, it returned a string. Now, the function always returns an integer. Fixes Homebrew/homebrew#12033.
2012-05-02Extract detection of compression typesAdam Vandenberg
Separate out detecting compression types from uncompressing and staging.
2012-05-01Fix Ruby warnings.Mike McQuaid
Fixes Homebrew/homebrew#11966.
2012-04-24Change versioned bottle syntax and fix issues.Mike McQuaid
Fixed Homebrew/homebrew#11562.
2012-04-24Add and correctly find erlang bottle.Mike McQuaid
Fixes Homebrew/homebrew#11780.
2012-04-24Revert "Add and correctly find erlang bottle."Mike McQuaid
This reverts commit 146e253856eb3e27b6b7382734fd178c160c1beb.
2012-04-24Revert "Change versioned bottle syntax and fix issues."Mike McQuaid
This reverts commit f80908bead8b620ebcc5cdde9de65e70598002b6.
2012-04-24Add and correctly find erlang bottle.Mike McQuaid
2012-04-24Change versioned bottle syntax and fix issues.Mike McQuaid
Fixed Homebrew/homebrew#11562.
2012-04-10ARGV: use include? for --HEADJack Nagel
ARGV.build_head? will return true if the typo '-HEAD' is passed because it uses flag? to detect the option. However, we only filter the exact spelling of '--HEAD' in ARGV.filter_for_dependencies, and thus the HEAD property is undesirably passed to deps during installation. Since we never advertised '-H' as a valid short option for '--HEAD', just use include? instead of flag?. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-04-09make_relative_symlink: give more specific adviceMisty De Meo
2012-03-30Show target path when emptyAdam Vandenberg
2012-03-30install: warn when passed no filesAdam Vandenberg
Rationale: we warn when inreplace makes no changes; this is a similar sort of warning. We expected some list (probably via Dir) to include some files, but none were found. Either the list was wrong, or the install can now be omitted.
2012-03-22Don't double print ln message in verbose modeMax Howell
Refs Homebrew/homebrew#11091.
2012-03-21ENV: reset LD when switching compilersJack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-21ENV: normalize usage of "self" and "ENV"Jack Nagel
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-19Be more helpful about how to resolve this issueMax Howell
2012-03-19If no formula but multiple kegs, advise resolutionMax Howell
In this case the user will simply have to delete all but one keg in order to use the command that uses ARGV.kegs. Refs Homebrew/homebrew#11050.
2012-03-19Better error when linking failsMax Howell
Refs http://stackoverflow.com/questions/9762943 The system ln no longer outputs anything. Though the user can force its output with a --verbose of course. So in cases where it's not the usual of: not writable or existing file, we can ask the user to run with --verbose. I don't particularly like hiding its output, but it just confused the error IMO since it is creating a relative symlink the output was weird every time I've seen it in tickets. I made a print wrapper so that the brew-link output doesn't get mucked up if an exception is thrown.
2012-03-16Explicitly set OBJC in the environmentJack Nagel
Fixes Homebrew/homebrew#10951. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-16Tap more than one formula from taps other than altMax Howell
Whoops.
2012-03-16Taps can only have one directory of formulaMax Howell
Rationale: Let's not have duplicate-names. Insisting on only one directory lets the filesystem enforce this unique-naming criteria for us. We special-case adamv/alt for now, until we remove it.
2012-03-16Pathname.atomic_writeMax Howell
2012-03-16Leave kegs keg-only if linking step failsMax Howell
Rationale: well, it should always have been like this! However now we are opening ourselves up to more-mixed installations of formula not maintained by us, it's important that
2012-03-16`brew tap` and `brew untap`Max Howell
2012-03-11Allow multiple digits in GitHub version partsAdam Vandenberg
2012-03-10Revert "Always build bottles universally."Mike McQuaid
This reverts commit 72a477f2734939d4c5805247588c4cdea69b5383.
2012-03-10Always build bottles universally.Mike McQuaid
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-09ENV.rb: Set GCC-style CPU flags for GFortranCharlie Sharpsteen
GFortran chokes when it is passed CPU flags specific to Clang. This change ensures the environment variables `FCFLAGS` and `FFLAGS` contain the same CPU flags that would be set for the GCC compiler. Fixes Homebrew/homebrew#10424. Fixes Homebrew/homebrew#10744. Closes Homebrew/homebrew#10774. Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2012-03-09ENV.rb: Generalize method for setting CPU flagsCharlie Sharpsteen
All logic has been copied into a new method `set_cpu_flags` that accepts an additional argument, `flags`, which contains a list of environment variables for which the CPU flags are to be adjusted. `set_cpu_cflags` now recalls `set_cpu_flags` and passes `cflags_flags` as the first argument. Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2012-03-09ENV.rb: Modifier methods accept lists of flagsCharlie Sharpsteen
`ENV` methods that modify environment variables, `prepend`, `append` and `remove`, can now accept lists of flags as well as a single flag. The list of flags affected by `append_to_cflags` and `remove_from_cflags` are now definied in a shortcut method `cc_flag_vars`. Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2012-03-07If multiple kegs, default to formula kegMax Howell
If it exists, ARGV.kegs will return the Formula.prefix keg for each rack examined. So for ARGV=[wget, foo] and the following Cellar (wget/1.11, wget/1.12, foo/1.0) you'll get [wget/1.12, foo/1.0] from ARGV.kegs provided 1.12 is the formula version of wget.
2012-03-06Extend FileUtils rather than include itJack Nagel
Fixes Homebrew/homebrew#10729. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-03-06Pathname.stem knows about bottlesMax Howell
2012-03-06Proper single character switch handlingMax Howell
Includes a test. So now you can do `brew cleanup -ns` and it will work.
2012-03-06Don't require formula files for `brew rm --force`Max Howell
In fixing this I also made it so that ARGV.kegs will return the LinkedKeg if the symlink is set. Which is almost always is. This neatly avoids most multiple-kegs issues. Fixes Homebrew/homebrew#10685.